<?php
			session_start();
		if(isset($_SESSION['id_usuario_almacen'])){
			require_once("./model/gestion_model.php");
			require_once("./model/gestion_model2.php");
			require_once("./model/fpdf/fpdf.php");

			date_default_timezone_set("America/Lima");

			$ges = new gestion_model();
			$ges2 = new gestion_model2();

			$id = $_GET['id'];

			$productos = $ges->get_productos_solicitados($id);

			// SESIÓN INICIADA

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

				$i = 0;
				$comentario = '';
				$z = 0;

				if( isset($_POST['sku'][0]) && !empty($_POST['sku'][0]) ){

					if (!function_exists('countCharsToFitWidth')) {
                        function countCharsToFitWidth($text, $width, $pdf) {
                            $textWidth = $pdf->GetStringWidth($text);
                            $charCount = strlen($text);
                        
                            while ($textWidth > $width && $charCount > 0) {
                                $text = substr($text, 0, $charCount - 1);
                                $charCount--;
                                $textWidth = $pdf->GetStringWidth($text);
                            }
                        
                            return $charCount;
                        }
                    }

					foreach ($_POST['sku'] as $val){

						$validar_tipo_serie_producto = $ges->validar_tipo_serie_producto($_POST['sku'][$i]);

						if($validar_tipo_serie_producto['id_catalogo_serializado'] == 1){

							$valor_valida_serie = 0;

							$validar_serie_producto_existente = $ges->validar_serie_producto_existente($_POST['sku'][$i],$_POST['asig'][$i],$_POST['serie'][$i]);
							$validar_serie_producto_disponible = $ges->validar_serie_producto_disponible($_POST['sku'][$i],$_POST['asig'][$i],$_POST['serie'][$i]);
							$V1 = $validar_serie_producto_existente['total'];
							$V2 = $validar_serie_producto_disponible['total'];
							
							if($validar_serie_producto_existente['total'] >= 1){

								$valor_valida_serie = $valor_valida_serie + 1;
							
							}

							if($validar_serie_producto_disponible['total'] >= 1){

								$valor_valida_serie = $valor_valida_serie + 1;

							}

							
							if($valor_valida_serie == 2){

							
							}else{

								
								if($_POST['serie'][$i] != 'SIN_SERIE'){
									$comentario = $comentario.'\nERROR: SERIE '.$_POST['serie'][$i];
									$z++;
								}

							}

						}

						$i = $i + 1;

					}

					if($z > 0 ){

						echo'<script type="text/javascript">alert("'.$comentario.'");</script>';
						exit;

					}

				}

				
				$actualizar = $ges->actualizar_rq($id,$_POST['observacion']);

				$solicitud = $ges->get_solicitudes_almacen_unico($id);
				$trabajadores = $ges2->get_trabajadores();
				$found_key="";
                $found_key = array_search($solicitud['codigo_usuario'], array_column($trabajadores, 'DOCIDEN'));
				$trabajador_responsable = $trabajadores[$found_key]['NOMBRES'];


				$i = 0;
				$z = 1;
				$comentario = 'COMENTARIO:';

				$pathname = './pdf/asignacion_'.$id.'.pdf';

				$fecha = date("Y-m-d");

				if( isset($_POST['sku'][0]) && !empty($_POST['sku'][0]) ){

					Class PDF extends FPDF{
						function Header(){
							$id = $_GET['id'];
							
							$this->SetFont('Arial','B',10);
							
							$this->Cell(190,10,utf8_decode('ACEPTACION DE RESPONSABILIDAD POR ASIGNACION DE EQUIPOS Y/O MATERIALES N° ' . $id),0,0,'R');
							
							$this->Ln(5);

						}
						
						function Footer(){
						
							$this->SetY(-15);
							
							$this->SetFont('Arial','I',5);
							
							$this->Cell(0,5,'Pagina '.$this->PageNo().'/{nb}',0,0,'C');

						}
					}

					$pdf = new PDF();
					$pdf->AddPage();
					$pdf->AliasNbPages();
					$pdf->SetFont('Arial','',6);

					$pdf->SetFillColor(255,255,255);

					$pdf->Ln(5);
					$pdf->MultiCell(190,6,utf8_decode('Yo '.$trabajador_responsable.' identificad(a) con DNI/Carnet de extranjería '.$solicitud['codigo_usuario'].', trabajador de Business Intelligence Outsourcing Bio SAC, declaro que he recibido de mi empleador los equipos y/o materiales que se señalan a continuación:'),0,'FJ',1);

					$pdf->Ln(5);
					$pdf->SetFont('Arial','B',6);
					$pdf->Cell(10,6,utf8_decode('N°'),1);
					$pdf->Cell(100,6,'PRODUCTO',1);
					$pdf->Cell(20,6,'CANTIDAD',1);
					$pdf->Cell(30,6,'SERIE',1);
					$pdf->Cell(30,6,'ESTADO',1);
					$pdf->Ln(6);
					$w =array(10,100,20,30,30);
					$pdf->SetFont('Arial','',6);
						
					foreach ($_POST['sku'] as $val){

						
						$validar_tipo_serie_producto = $ges->validar_tipo_serie_producto($_POST['sku'][$i]);

						if($validar_tipo_serie_producto['id_catalogo_serializado'] == 1){

							$valor_valida_serie = 0;

							$validar_serie_producto_existente = $ges->validar_serie_producto_existente($_POST['sku'][$i],$_POST['asig'][$i],$_POST['serie'][$i]);
							$validar_serie_producto_disponible = $ges->validar_serie_producto_disponible($_POST['sku'][$i],$_POST['asig'][$i],$_POST['serie'][$i]);
							$V1 = $validar_serie_producto_existente['total'];
							$V2 = $validar_serie_producto_disponible['total'];
							
							if($validar_serie_producto_existente['total'] >= 1){

								$valor_valida_serie = $valor_valida_serie + 1;
							
							}

							if($validar_serie_producto_disponible['total'] >= 1){

								$valor_valida_serie = $valor_valida_serie + 1;

							}

							
							if($valor_valida_serie == 2){

								

								$resultado_final = $ges->set_stock_tecnico($_POST['cantidad'][$i],$_POST['sku'][$i],$_POST['asig'][$i],$_POST['tecnico'][$i],$_POST['serie'][$i],2,1);
								$producto = $ges->validar_tipo_serie_producto($_POST['sku'][$i]);
								$stock_almacen = $ges->get_stock_almacen($_POST['sku'][$i]);
								if($producto['stock_minimo'] >= $stock_almacen['disponible'] && $producto['stock_minimo'] != null){
									$almacen = $ges->get_nombre_almacen();
									$correo = $ges->get_usuario_dni('160885416');
									$correo_enviar = $ges->correo_stock_minimo($almacen['almacen'],$producto['nombre_producto'],$correo['correo']);
								}

								
								if($serie == 'SIN_SERIE'){

								}else{
								
									$pdf->Cell($w[0],6,$z,1);
									$texto1 = utf8_decode($_POST['np'][$i]);
									$ancho_celda1 = $w[1];
									$longitud_texto1 = $pdf->GetStringWidth($texto1);
									
									if ($longitud_texto1 > $ancho_celda1) {
										$charCount1 = countCharsToFitWidth($texto1, $ancho_celda1-3, $pdf);
										$texto1 = substr($texto1, 0, $charCount1) . '...';
									}
									$pdf->Cell($ancho_celda1, 6, $texto1, 1);
									$pdf->Cell($w[2],6,$_POST['cantidad'][$i],1);
									$pdf->Cell($w[3],6,$_POST['serie'][$i],1);
									$pdf->Cell($w[4],6,'DISPONIBLE',1);
									$pdf->Ln();

								}
							
							}else{
								if($_POST['serie'][$i] != 'SIN_SERIE'){
									$comentario = $comentario.'\nERROR: SERIE '.$_POST['serie'][$i];
								}
							}

						}else{

							
							if($validar_tipo_serie_producto['id_tipo_consumible'] == 3){

								$resultado = $ges->set_producto_serealizado($_POST['cantidad'][$i],$_POST['sku'][$i],$_POST['asig'][$i],$_POST['tecnico'][$i],$_POST['serie'][$i]);

								$producto = $ges->validar_tipo_serie_producto($_POST['sku'][$i]);
								$stock_almacen = $ges->get_stock_almacen($_POST['sku'][$i]);
								if($producto['stock_minimo'] >= $stock_almacen['disponible'] && $producto['stock_minimo'] != null){
									$almacen = $ges->get_nombre_almacen();
									$correo = $ges->get_usuario_dni('160885416');
									$correo_enviar = $ges->correo_stock_minimo($almacen['almacen'],$producto['nombre_producto'],$correo['correo']);
								}
							}else{

								$resultado_final = $ges->set_stock_tecnico($_POST['cantidad'][$i],$_POST['sku'][$i],$_POST['asig'][$i],$_POST['tecnico'][$i],$_POST['serie'][$i],2);
								$producto = $ges->validar_tipo_serie_producto($_POST['sku'][$i]);
								$stock_almacen = $ges->get_stock_almacen($_POST['sku'][$i]);
								if($producto['stock_minimo'] >= $stock_almacen['disponible'] && $producto['stock_minimo'] != null){
									$almacen = $ges->get_nombre_almacen();
									$correo = $ges->get_usuario_dni('160885416');
									$correo_enviar = $ges->correo_stock_minimo($almacen['almacen'],$producto['nombre_producto'],$correo['correo']);
								}
							}

							
							$pdf->Cell($w[0],6,$z,1);
							$texto1 = utf8_decode($_POST['np'][$i]);
							$ancho_celda1 = $w[1];
							$longitud_texto1 = $pdf->GetStringWidth($texto1);
							
							if ($longitud_texto1 > $ancho_celda1) {
								$charCount1 = countCharsToFitWidth($texto1, $ancho_celda1-3, $pdf);
								$texto1 = substr($texto1, 0, $charCount1) . '...';
							}
							$pdf->Cell($ancho_celda1, 6, $texto1, 1);
							$pdf->Cell($w[2],6,$_POST['cantidad'][$i],1);
							$pdf->Cell($w[3],6,' ',1);
							$pdf->Cell($w[4],6,'DISPONIBLE',1);
							$pdf->Ln();

						}

						$i = $i + 1;
						$z = $z + 1;

					}
					$pdf->SetFont('helvetica', 'BU', 12); 
					$pdf->Cell(65, 9, 'OBSERVACIONES:', 0, 1, 'L');
					$pdf->Ln();
					$pdf->SetFont('Arial','',6);
					$pdf->MultiCell(190,6,utf8_decode($_POST['observacion']), 0, 1, 'L');
					$pdf->Ln();
					$pdf->SetFont('Arial','',6);
					$pdf->MultiCell(190,6,utf8_decode('Dejo expresa constancia que los equipos y/o materiales antes mencionados los he recibido en perfecto estado, para el cumplimiento de mis obligaciones laborales, y me comprometo a utilizarlos y a conservarlos con la diligencia que el caso amerita, respetando las políticas internas establecidas para tal efecto por Business Intelligence Outsourcing Bio SAC. Asimismo, asumo el compromiso de devolverlos personalmente cuando me sean solicitados por la empresa, o cuando se produzca la extinción de mi vínculo laboral, sin más deterioro que el generado por el uso en condiciones normales.'),0,'FJ',1);
					$pdf->Ln(6);
					$pdf->MultiCell(190,6,utf8_decode('En virtud de lo anterior, autorizo de manera libre, voluntaria, previa, explícita, informada e inequívoca a mi empleador para que en caso de avería o perdida de los equipos y/o materiales antes mencionados sea consecuencia inmediata, clara y directa de un hecho imputable a mi persona, descuente de mis remuneraciones y/o de mis beneficios sociales el importe correspondiente al costo de reposición de los equipos y/o materiales averiados y/o perdidos.'),0,'FJ',1);
					$pdf->Ln();
					$pdf->Ln();
					$pdf->SetFont('Arial','',9);
					$pdf->Cell(20,9,'',0,0,'C');
					$pdf->Cell(65,9,'RESPONSABLE ALMACEN','T',0,'C');
					$pdf->Cell(20,9,'',0,0,'C');
					$pdf->Cell(65,9,'TRABAJADOR','T',0,'C');
					$pdf->Cell(20,9,'',0,0,'C');
					$pdf->Ln();
					$pdf->Ln();
					$pdf->Ln();
					$y = array(50);
					$pdf->SetFont('Arial','',8);
					$pdf->Cell(180,8,utf8_decode('Fecha: ').$fecha,0);
					$pdf->Ln();
					$pdf->Ln();
							

					$pdf->Output($pathname,'F');

					$link_constancia = 'http://biosac.net/chile/almacen/pdf/asignacion_'.$id.'.pdf';

					$correo = $ges->enviar_constancia($link_constancia);

					echo'<script type="text/javascript">window.open("http://biosac.net/chile/almacen/pdf/asignacion_'.$id.'.pdf", "_blank");</script>';
					

					echo'<script type="text/javascript">alert("SE GESTIONÓ CORRECTAMENTE\n'.$comentario.'\n\nLINK - CONSTANCIA: http://biosac.net/chile/almacen/pdf/asignacion_'.$id.'.pdf");window.location.href="solicitud.php";</script>';

				}else{

					$resultado = $ges->get_update_requerimiento($id,2);
					echo'<script type="text/javascript">alert("NO SE COLOCO NINGUN PRODUCTOS");window.location.href="solicitud.php";</script>';

				}

				

			}

			require_once("./view/soli.phtml");
				
		}else{
			require_once("./view/index.phtml");
		}


?>