function reporteEnt($idNaviera) { global $hoy, $db, $db2; // connection with the database $dbhost = "localhost"; $dbuser = "******"; $dbpass = "******"; $dbname = "nesoftwa_ANAKOSTA"; mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname); $hr = substr($hoy, 11, 2); //$hr="17"; if ($idNaviera == 1) { //------------------------------------------- //SI ES MSC Y LA HR DEL REPORTE ES A LA 9 AM //INCLUIRA ENTRADAS Y SALIDAS DE LAS 5PM DEL //DIA ANTERIOR A LAS 9:00 AM DE ESTE DIA //------------------------------------------- if ($hr == "09") { $hr1 = "17:00:00"; $hr2 = "09:00:00"; $hoy = substr($hoy, 0, 10); //$hoy="2013-07-29"; $dias = 1; $ayer = date("Y-m-d", strtotime("{$hoy} -{$dias} day")); } else { if ($hr == "13") { $hr1 = "09:00:00"; $hr2 = "13:00:00"; $hoy = substr($hoy, 0, 10); $ayer = substr($hoy, 0, 10); } else { if ($hr == "17") { $hr1 = "13:00:00"; $hr2 = "17:00:00"; $hoy = substr($hoy, 0, 10); $ayer = substr($hoy, 0, 10); } else { $hoy = substr($hoy, 0, 10); //$hoy="2013-07-29"; $dias = 1; $ayer = date("Y-m-d", strtotime("{$hoy} -{$dias} day")); $hr1 = "00:00:00"; $hr2 = "23:59:59"; } } } } else { $hoy = substr($hoy, 0, 10); //$hoy="2013-07-29"; $dias = 1; $ayer = date("Y-m-d", strtotime("{$hoy} -{$dias} day")); } $naviera = getValueTable("naviera", "NAVIERA", "id_naviera", $idNaviera); // Create a new PHPExcel object $objPHPExcel = new PHPExcel(); $positionInExcel = 0; //Loque mencionaste $objPHPExcel->createSheet($positionInExcel); //Loque mencionaste $objPHPExcel->setActiveSheetIndex(0); //Seleccionar la pestaña deseada $objPHPExcel->getActiveSheet()->setTitle('Entradas'); //Establecer nombre para la pestaña $styleArray = array('font' => array('bold' => true, 'color' => array('rgb' => '010006'), 'size' => 13, 'name' => 'Calibri')); //--------------------- //*****ENTRADAS***** //--------------------- // Encabezados /* $headings = array('FECHA','CONTENEDOR','TIPO','CLASE', 'REFORZADO','FEC.FABRICACION','STATUS','EIR','NAVIERA', 'CONSIG','LIN. TRANSP.','OPERADOR','PLACAS','NO. CHASIS'); */ $headings = array('CONTENEDOR', 'FECHA', 'CLASE', 'STATUS', 'TIPO', 'REFORZADO', 'FEC.FABRICACION', 'EIR', 'NAVIERA', 'CONSIG', 'LIN. TRANSP.', 'OPERADOR', 'PLACAS', 'NO. CHASIS'); // ----------------------------------- // DATOS SI ES MSC // ----------------------------------- if ($idNaviera == 1) { $query = "SELECT * from ENTRADA where "; $query .= "id_naviera='{$idNaviera}' and "; $query .= "st_reg<>'B' and "; $query .= "cap_fec BETWEEN '{$ayer} {$hr1}' and '{$hoy} {$hr2}' order by cap_fec "; } else { $query = "SELECT * from ENTRADA where "; $query .= "id_naviera='{$idNaviera}' and "; $query .= "st_reg<>'B' and "; $query .= "cap_fec BETWEEN '{$ayer} 00:00:00' and '{$hoy} 23:59:59' order by cap_fec "; } if ($result = mysql_query($query) or die(mysql_error())) { //echo"SQL $sql"; //if ($result = mysql_query($query) or die(mysql_error())) { // Escribe los encabezados $objPHPExcel->getActiveSheet()->setCellValue(A1, "ALMARTCON, S.A. de C.V.")->getStyle('A1')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A2, "NAVIERA : {$naviera}")->getStyle('A2')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A3, "FECHA:{$ayer} A {$hoy}")->getStyle('A3')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A4, "ENTRADAS")->getStyle('A4')->applyFromArray($styleArray); $rowNumber = 5; $col = 'A'; foreach ($headings as $heading) { if ($col != "A" && $col != "F") { $objPHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true); } $objPHPExcel->getActiveSheet()->getStyle($col . $rowNumber)->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => '999999'))); $objPHPExcel->getActiveSheet()->setCellValue($col . $rowNumber, $heading); $col++; } // Escribe los Registros $rowNumber = 5; while ($row = mysql_fetch_array($result)) { $idConte = $row[id_contenedor]; $conte = getValueTable("numero", "CONTENEDOR", "id_contenedor", $idConte); $ref = getValueTable("reforzado", "CONTENEDOR", "id_contenedor", $idConte); $fecFab = getValueTable("fec_fab", "CONTENEDOR", "id_contenedor", $idConte); $idEq = getValueTable("id_equipo", "CONTENEDOR", "id_contenedor", $idConte); $equipo = getValueTable("equipo", "EQUIPO", "id_equipo", $idEq); $idNav = $row[id_naviera]; $naviera = getValueTable("naviera", "NAVIERA", "id_naviera", $idNav); $objPHPExcel->getActiveSheet()->setCellValue(A . $rowNumber, $conte); $objPHPExcel->getActiveSheet()->setCellValue(B . $rowNumber, $row[cap_fec]); $objPHPExcel->getActiveSheet()->setCellValue(C . $rowNumber, $row[clase]); $objPHPExcel->getActiveSheet()->setCellValue(D . $rowNumber, $row[damage]); $objPHPExcel->getActiveSheet()->setCellValue(E . $rowNumber, $equipo); $objPHPExcel->getActiveSheet()->setCellValue(F . $rowNumber, $ref); $objPHPExcel->getActiveSheet()->setCellValue(G . $rowNumber, $fecFab); $objPHPExcel->getActiveSheet()->setCellValue(H . $rowNumber, $row[eir]); $objPHPExcel->getActiveSheet()->setCellValue(I . $rowNumber, $naviera); $objPHPExcel->getActiveSheet()->setCellValue(J . $rowNumber, $row[consig]); $objPHPExcel->getActiveSheet()->setCellValue(K . $rowNumber, $row[transportista]); $objPHPExcel->getActiveSheet()->setCellValue(L . $rowNumber, $row[operador]); $objPHPExcel->getActiveSheet()->setCellValue(M . $rowNumber, $row[placas]); $objPHPExcel->getActiveSheet()->setCellValue(N . $rowNumber, $row[chasis]); $rowNumber++; } } //--------------------- //*****SALIDAS***** //--------------------- $positionInExcel = 1; //Loque mencionaste $objPHPExcel->createSheet($positionInExcel); //Loque mencionaste $objPHPExcel->setActiveSheetIndex(1); //Seleccionar la pestaña deseada $objPHPExcel->getActiveSheet()->setTitle('Salidas'); //Establecer nombre para la pestaña // Encabezados $headings = array('CONTENEDOR', 'FECHA', 'BOOKING', 'TIPO', 'CLASE', 'REFORZADO', 'FEC. FABRICACIÓN', 'STATUS', 'EIR', 'NAVIERA', 'CONSIG', 'LIN. TRANSP.', 'OPERADOR', 'PLACAS', 'NO. CHASIS', 'SELLO', 'FACTURA'); // ----------------------------------- // DATOS SI ES MSC // ----------------------------------- if ($idNaviera == 1) { $query = "SELECT * from SALIDA where "; $query .= "id_naviera='{$idNaviera}' and "; $query .= "st_reg<>'B' and "; $query .= "cap_fec BETWEEN '{$ayer} {$hr1}' and '{$hoy} {$hr2}' order by cap_fec "; } else { $query = "SELECT * from SALIDA where "; $query .= "id_naviera='{$idNaviera}' and "; $query .= "st_reg<>'B' and "; $query .= "cap_fec BETWEEN '{$ayer} 00:00:00' and '{$hoy} 23:59:59' order by cap_fec "; } //if ($result = mysql_query($query) or die(mysql_error())) { //echo"SQL $sql"; if ($result = mysql_query($query) or die(mysql_error())) { // Escribe los encabezados $objPHPExcel->getActiveSheet()->setCellValue(A1, "ALMARTCON, S.A. de C.V.")->getStyle('A1')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A2, "NAVIERA : {$naviera}")->getStyle('A2')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A3, "FECHA:{$ayer} A {$hoy}")->getStyle('A3')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A4, "SALIDAS")->getStyle('A4')->applyFromArray($styleArray); $rowNumber = 5; $col = 'A'; foreach ($headings as $heading) { if ($col != "A" && $col != "F") { $objPHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true); } $objPHPExcel->getActiveSheet()->getStyle($col . $rowNumber)->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => '999999'))); $objPHPExcel->getActiveSheet()->setCellValue($col . $rowNumber, $heading); $col++; } // Escribe los Registros $rowNumber = 6; while ($row = mysql_fetch_array($result)) { $idConte = $row[id_contenedor]; $conte = getValueTable("numero", "CONTENEDOR", "id_contenedor", $idConte); $ref = getValueTable("reforzado", "CONTENEDOR", "id_contenedor", $idConte); $fecFab = getValueTable("fec_fab", "CONTENEDOR", "id_contenedor", $idConte); $idEq = getValueTable("id_equipo", "CONTENEDOR", "id_contenedor", $idConte); $equipo = getValueTable("equipo", "EQUIPO", "id_equipo", $idEq); $idNav = $row[id_naviera]; $naviera = getValueTable("naviera", "NAVIERA", "id_naviera", $idNav); $objPHPExcel->getActiveSheet()->setCellValue(A . $rowNumber, $conte); $objPHPExcel->getActiveSheet()->setCellValue(B . $rowNumber, $row[cap_fec]); $objPHPExcel->getActiveSheet()->setCellValue(C . $rowNumber, $row[bkg]); $objPHPExcel->getActiveSheet()->setCellValue(D . $rowNumber, $equipo); $objPHPExcel->getActiveSheet()->setCellValue(E . $rowNumber, $row[clase]); $objPHPExcel->getActiveSheet()->setCellValue(F . $rowNumber, $ref); $objPHPExcel->getActiveSheet()->setCellValue(G . $rowNumber, $fecFab); $objPHPExcel->getActiveSheet()->setCellValue(H . $rowNumber, $row[damage]); $objPHPExcel->getActiveSheet()->setCellValue(I . $rowNumber, $row[eir]); $objPHPExcel->getActiveSheet()->setCellValue(J . $rowNumber, $naviera); $objPHPExcel->getActiveSheet()->setCellValue(K . $rowNumber, $row[consig]); $objPHPExcel->getActiveSheet()->setCellValue(L . $rowNumber, $row[transportista]); $objPHPExcel->getActiveSheet()->setCellValue(M . $rowNumber, $row[operador]); $objPHPExcel->getActiveSheet()->setCellValue(N . $rowNumber, $row[placas]); $objPHPExcel->getActiveSheet()->setCellValue(O . $rowNumber, $row[chasis]); $objPHPExcel->getActiveSheet()->setCellValue(P . $rowNumber, $row[sello]); $objPHPExcel->getActiveSheet()->setCellValue(Q . $rowNumber, $row[factura]); $rowNumber++; } } //--------------------- //*****INVENTARIOS***** //--------------------- // ----------------------------------- // DEPURACION // ----------------------------------- /* $sql = "SELECT id_contenedor from INVENTARIO_PLUS "; $db->query($sql); while( $db->next_record() ){ $idConte = $db->f(id_contenedor); actualizaInventarioPlus($idConte); } */ $positionInExcel = 2; $objPHPExcel->createSheet($positionInExcel); $objPHPExcel->setActiveSheetIndex(2); //Seleccionar la pestaña deseada $objPHPExcel->getActiveSheet()->setTitle('Inventarios'); //Establecer nombre para la pestaña // Encabezados $headings = array('CONTENEDOR', 'TIPO', 'FEC. ENTRADA', 'STATUS', 'CLASE', 'DIAS', 'REFORZADOS', 'EIR', 'NOTAS'); // Escribe los encabezados $objPHPExcel->getActiveSheet()->setCellValue(A1, "ALMARTCON, S.A. de C.V.")->getStyle('A1')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A2, "NAVIERA : {$naviera}")->getStyle('A2')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A3, "FECHA:{$ayer} A {$hoy}")->getStyle('A3')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->setCellValue(A4, "INVENTARIO")->getStyle('A4')->applyFromArray($styleArray); $rowNumber = 5; $col = 'A'; foreach ($headings as $heading) { if ($col != "A" && $col != "F") { $objPHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true); } $objPHPExcel->getActiveSheet()->getStyle($col . $rowNumber)->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => '999999'))); $objPHPExcel->getActiveSheet()->setCellValue($col . $rowNumber, $heading); $col++; } // ----------------------------------- // DATOS // ----------------------------------- $rowNumber = 6; $query = "SELECT * from EQUIPO "; if ($result = mysql_query($query) or die(mysql_error())) { while ($row = mysql_fetch_array($result)) { $idEquipo = $row[id_equipo]; $flgEquipo = "0"; $cont = ""; $query2 = "SELECT * from INVENTARIO_PLUS i, CONTENEDOR c where "; $query2 .= "i.id_naviera='{$idNaviera}' and i.id_contenedor>0 and "; $query2 .= "i.id_contenedor=c.id_contenedor and c.id_equipo='{$idEquipo}'"; if ($result2 = mysql_query($query2) or die(mysql_error())) { while ($row2 = mysql_fetch_array($result2)) { $flgEquipo = "1"; $capFec = $row2[cap_fec]; $idConte = $row2[id_contenedor]; $conte = getValueTable("numero", "CONTENEDOR", "id_contenedor", $idConte); $idEq = getValueTable("id_equipo", "CONTENEDOR", "id_contenedor", $idConte); $equipo = getValueTable("equipo", "EQUIPO", "id_equipo", $idEq); $nota = $row2[nota]; $nota = addslashes($nota); $nota = str_replace("\n", "", $nota); $nota = str_replace("\r", "", $nota); $eir = "E-" . $row2[eir]; // Comprobar que el contenedor, mismo registro no este dado de baja en Entradas en su mas reciente evento. $sql2 = "select st_reg from ENTRADA where id_contenedor='{$idConte}' order by cap_fec"; $db2->query($sql2); while ($db2->next_record()) { $stReg = $db2->f(st_reg); } if (empty($stReg)) { $stReg = "A"; // Activo } // Escribiendo al archivo. if ($stReg != "B" && $conteEntSal != "S") { $datoX = getLastIn($idConte); $fecEnt = $datoX['fecEnt']; $eir = $datoX['eir']; $damage = getDamage($idConte); $reforzado = getReforzado($idConte); $clase = getValueTable("clase", "CONTENEDOR", "id_contenedor", $idConte); // Calcular los días de almacenaje. $hoy = date("Y-m-d"); $dias = totalDias($fecEnt, $hoy); $objPHPExcel->getActiveSheet()->setCellValue(A . $rowNumber, $conte); $objPHPExcel->getActiveSheet()->setCellValue(B . $rowNumber, $equipo); $objPHPExcel->getActiveSheet()->setCellValue(C . $rowNumber, $fecEnt); $objPHPExcel->getActiveSheet()->setCellValue(D . $rowNumber, $damage); $objPHPExcel->getActiveSheet()->setCellValue(E . $rowNumber, $clase); $objPHPExcel->getActiveSheet()->setCellValue(F . $rowNumber, $dias); $objPHPExcel->getActiveSheet()->setCellValue(G . $rowNumber, $eir); $objPHPExcel->getActiveSheet()->setCellValue(H . $rowNumber, $reforzado); $objPHPExcel->getActiveSheet()->setCellValue(I . $rowNumber, $nota); $rowNumber++; $cont = $cont + 1; } } } if ($flgEquipo == 1) { $objPHPExcel->getActiveSheet()->setCellValue(B . $rowNumber, $cont); $rowNumber++; } } } //echo 'a problem has occurred... no data retrieved from the database'; // Freeze pane so that the heading line won't scroll $objPHPExcel->getActiveSheet()->freezePane('A2'); // Save as an Excel BIFF (xls) file $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //header('Content-Type: application/vnd.ms-excel'); //header('Content-Disposition: attachment;filename=../files/reporte.xls'); //header('Cache-Control: max-age=0'); //$objWriter->save('php://output'); $objWriter->save('../files/EntradasNav.xlsx'); //exit(); return; }
function reporteE($data) { global $db, $db2, $hoy, $sesIdOficina; $sesIdUsuario = $_SESSION[sesIdUsuario]; $fec1 = $data[fec1]; $fec2 = $data[fec2]; $tipoRep = $data[tipoRep]; $sepa = $data[sepa]; $idNaviera = $data[idNaviera]; // Se crea el archivo $archivo = "../files/Inventario.csv"; $fp = fopen("{$archivo}", "w"); // Encabezado $oficina = getValueTable("oficina", "OFICINA", "id_oficina", $sesIdOficina); $oficina = strtoupper($oficina); $naviera = getValueTable("naviera", "NAVIERA", "id_naviera", $idNaviera); $enc = "El Trebol\n"; fputs($fp, $enc); $enc = "REPORTE DE INVENTARIO \n"; fputs($fp, $enc); $enc = "NAVIERA : {$naviera} \n"; fputs($fp, $enc); $enc = "F.EMISION: {$hoy} \n\n"; fputs($fp, $enc); // ----------------------------------- // COLUMNAS // ----------------------------------- /* $enc = "Fecha".$sepa."Contenedor".$sepa."Tipo".$sepa."Clase".$sepa."Status".$sepa; $enc.="EIR".$sepa."Naviera".$sepa."Lin.Transp.".$sepa."Operador".$sepa."Placas".$sepa."No.Chasis".$sepa; $enc.="Mani.Tipo".$sepa."Mani.QuienPaga".$sepa."Documento".$sepa."Referencia".$sepa."Cuenta".$sepa; $enc.="Costo".$sepa."Recibo".$sepa."Activo/Baja".$sepa."Capturo".$sepa."Fec.Modifica"; */ $enc = "Contenedor" . $sepa . "Tipo" . $sepa . "Fec.Entrada" . $sepa . "Status" . $sepa . "Clase" . $sepa . "Dias" . $sepa . "Notas" . $sepa . "Reforzado" . $sepa . "EIR" . $sepa . "NAVIERA"; $enc .= "\n"; fputs($fp, $enc); // ----------------------------------- // DEPURACION // ----------------------------------- $sql = "SELECT id_contenedor from INVENTARIO_PLUS "; $db->query($sql); while ($db->next_record()) { $idConte = $db->f(id_contenedor); actualizaInventarioPlus($idConte); } // ----------------------------------- // DATOS // ----------------------------------- /* $sql = "SELECT * from INVENTARIO_PLUS where "; if($idNaviera<>'-'){ $sql.="id_naviera='$idNaviera' and id_contenedor>0 and "; } $sql.="id_oficina='1' "; $sql.="order by id_naviera,cap_fec "; */ $sql = "select *,n.id_naviera as IDNAV "; $sql .= " from INVENTARIO_PLUS i,CONTENEDOR c, NAVIERA n "; $sql .= "where "; $sql .= "i.id_contenedor=c.id_contenedor and "; $sql .= "c.id_naviera=n.id_naviera and "; if ($idNaviera != '-') { $sql .= "n.id_naviera='{$idNaviera}' and "; } $sql .= "i.id_oficina='1' order by n.id_naviera,i.cap_fec "; $db->query($sql); while ($db->next_record()) { $capFec = $db->f('cap_fec'); $idConte = $db->f('id_contenedor'); $conte = getValueTable("numero", "CONTENEDOR", "id_contenedor", $idConte); $idEq = getValueTable("id_equipo", "CONTENEDOR", "id_contenedor", $idConte); $equipo = getValueTable("equipo", "EQUIPO", "id_equipo", $idEq); //$clase = $db->f('clase'); // Traer el dato mas actual desde el catalogo de contenedores $clase = getValueTable("clase", "CONTENEDOR", "id_contenedor", $idConte); $damage = $db->f('damage'); $eir = "E-" . $db->f('eir'); $idNav = $db->f('IDNAV'); $naviera = getValueTable("naviera", "NAVIERA", "id_naviera", $idNav); $transp = $db->f('transportista'); $operador = $db->f('operador'); $placas = $db->f('placas'); $chasis = $db->f('chasis'); $maniTipo = $db->f('tipo_mani'); $maniQP = $db->f('mani_st_pago'); $maniQP == "M" ? $maniQP = "MERCHANT" : ($maniQP = "CARRIER"); $maniDoc = $db->f('doc_tipo'); $maniDocRef = $db->f('doc_ref'); $maniCuenta = $db->f('cuenta'); $maniCosto = $db->f('mani_costo'); $maniRecibo = $db->f('recibo'); $idOficina = $db->f('id_oficina'); $oficina = getValueTable("oficina", "OFICINA", "id_oficina", $idOficina); $modIdUsr = $db->f('mod_id_usr'); $usr = getValueTable("usuario", "USUARIO", "id_usuario", $modIdUsr); $modFec = $db->f('mod_fec'); $conteEntSal = getValueTable("ent_sal", "CONTENEDOR", "id_contenedor", $idConte); $nota = $db->f(nota); $nota = addslashes($nota); $nota = str_replace("\n", "", $nota); $nota = str_replace("\r", "", $nota); // Comprobar que el contenedor, mismo registro no este dado de baja en Entradas en su mas reciente evento. $sql2 = "select st_reg from ENTRADA where id_contenedor='{$idConte}' order by cap_fec"; $db2->query($sql2); while ($db2->next_record()) { $stReg = $db2->f(st_reg); } if (empty($stReg)) { $stReg = "A"; // Activo } // Escribiendo al archivo. if ($stReg != "B" && $conteEntSal != "S") { /* $row=$capFec.$sepa.$conte.$sepa.$equipo.$sepa.$clase.$sepa.$damage.$sepa; $row.=$eir.$sepa.$naviera.$sepa.$transp.$sepa.$operador.$sepa.$placas.$sepa.$chasis.$sepa; $row.=$maniTipo.$sepa.$maniQP.$sepa.$maniDoc.$sepa.$maniDocRef.$sepa.$maniCuenta.$sepa; $row.=$maniCosto.$sepa.$maniRecibo.$sepa.$stReg.$sepa.$usr.$sepa.$modFec.$sepa; */ $datoX = getLastIn($idConte); $fecEnt = $datoX['fecEnt']; $eir = $datoX['eir']; $damage = getDamage($idConte); $reforzado = getReforzado($idConte); $clase = getValueTable("clase", "CONTENEDOR", "id_contenedor", $idConte); // Calcular los días de almacenaje. $hoy = date("Y-m-d"); $dias = totalDias($fecEnt, $hoy); $row = $conte . $sepa . $equipo . $sepa . $fecEnt . $sepa . $damage . $sepa . $clase . $sepa . $dias . $sepa . $nota . $sepa . $reforzado . $sepa . $eir . $sepa . $naviera; $row .= "\n"; fputs($fp, $row); } } fclose($fp); // ----------------------------- // SALVAR COMO... O ABRIR EN AUTO. // (No modificar) // ----------------------------- if (file_exists("{$archivo}")) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($archivo)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($archivo)); ob_clean(); flush(); readfile("{$archivo}"); exit; } }
function reporteE($data) { global $db, $db2, $hoy; $sepa = $data[sepa]; $idNaviera = $data[idNaviera]; //$idPatio = $data[idPatio]; // Se crea el archivo $archivo = "../files/InventarioN.csv"; $fp = fopen("{$archivo}", "w"); // Encabezado $oficina = getValueTable("oficina", "OFICINA", "id_oficina", idPatio); $oficina = strtoupper($oficina); $naviera = getValueTable("naviera", "NAVIERA", "id_naviera", $idNaviera); $enc = "{$oficina}\n"; fputs($fp, $enc); $enc = "REPORTE DE INVENTARIO \n"; fputs($fp, $enc); $enc = "NAVIERA : {$naviera} \n"; fputs($fp, $enc); $enc = "F.EMISION: {$hoy} \n\n"; fputs($fp, $enc); // ----------------------------------- // COLUMNAS // ----------------------------------- $enc = "Contenedor" . $sepa . "Tipo" . $sepa . "Fec.Entrada" . $sepa . "Status" . $sepa . "Clase" . $sepa . "Dias" . $sepa . "Notas" . $sepa . "Reforzado" . $sepa . "EIR" . $sepa . "Naviera" . $sepa . "Oficina"; $enc .= "\n"; fputs($fp, $enc); // ----------------------------------- // DEPURACION // ----------------------------------- //$sql = "SELECT id_contenedor from INVENTARIO_PLUS where id_oficina='$sesIdOficina'"; $sql = "SELECT id_contenedor from INVENTARIO_PLUS "; $db->query($sql); while ($db->next_record()) { $idConte = $db->f(id_contenedor); // actualizaInventarioPlus($idConte); // Esto estaba haciendo que se tardara mucho el reporte, porque hace un cuello // botella enorme, y por eso ahora se va a realizar a traves de un Job que cada 30 min // ralice la actualizacion. El scrip se llama "inv_automatic.php" } // ----------------------------------- // DATOS // ----------------------------------- $sql = "select\n c.id_contenedor as IDCONTE,\n c.numero as NCONTE,\n c.id_equipo as IDEQ,\n e.equipo as EQP,\n c.clase as CLASE,\n c.st_dmg as DMG,\n i.eir as EIR,\n n.naviera as NAVIERA,\n i.transportista as TRANSP,\n i.operador as OPERADOR,\n i.placas as PLACAS,\n i.chasis as CHASIS,\n i.tipo_mani as TMANI,\n i.mani_st_pago as PMANI,\n i.doc_tipo as DOCTIPO,\n i.doc_ref as DOCREF,\n i.cuenta as CUENTA,\n i.mani_costo as MANICOSTO,\n i.recibo as RECIBO,\n i.id_oficina as IDOFI,\n i.mod_id_usr as IDUSRMOD,\n i.nota as NOTA\n from INVENTARIO_PLUS as i\n INNER JOIN CONTENEDOR as c ON i.id_contenedor = c.id_contenedor\n INNER JOIN NAVIERA as n ON i.id_naviera = n.id_naviera\n INNER JOIN EQUIPO as e ON c.id_equipo = e.id_equipo\n WHERE\n "; if ($idNaviera != '-') { $sql .= "i.id_naviera = '{$idNaviera}' "; } $db->query($sql); while ($db->next_record()) { // $capFec = $db->f('cap_fec'); $idConte = $db->f('IDCONTE'); $conte = $db->f('NCONTE'); // $idEq = $db->f('IDEQ'); $equipo = $db->f('EQP'); //$clase = $db->f('clase'); // Traer el dato mas actual desde el catalogo de contenedores // $clase = $db->f('CLASE'); // $damage = $db->f('DMG'); // $eir = "E-".$db->f('EIR'); //$idNav = $db->f('IDNAV'); $naviera = $db->f('NAVIERA'); // $transp = $db->f('TRANSP'); // $operador = $db->f('OPERADOR'); //$placas = $db->f('PLACAS'); //$chasis = $db->f('CHASIS'); //$maniTipo = $db->f('TMANI'); $maniQP = $db->f('PMANI'); $maniQP == "M" ? $maniQP = "MERCHANT" : ($maniQP = "CARRIER"); //$maniDoc = $db->f('DOCTIPO'); //$maniDocRef = $db->f('DOCREF'); //$maniCuenta = $db->f('CUENTA'); //$maniCosto = $db->f('MANICOSTO'); //$maniRecibo = $db->f('RECIBO'); $idOficina = $db->f('IDOFI'); $oficinaDB = getValueTable("oficina", "OFICINA", "id_oficina", $idOficina); //$modIdUsr = $db->f('IDUSRMOD'); //$usr = getValueTable("usuario","USUARIO","id_usuario",$modIdUsr); //$modFec = $db->f('mod_fec'); $conteEntSal = getValueTable("ent_sal", "CONTENEDOR", "id_contenedor", $idConte); $nota = $db->f('NOTA'); $nota = addslashes($nota); $nota = str_replace("\n", "", $nota); $nota = str_replace("\r", "", $nota); // Comprobar que el contenedor, mismo registro no este dado de baja en Entradas en su mas reciente evento. $sql2 = "select st_reg from ENTRADA where id_contenedor='{$idConte}' order by cap_fec"; $db2->query($sql2); while ($db2->next_record()) { $stReg = $db2->f(st_reg); } if (empty($stReg)) { $stReg = "A"; // Activo } // Escribiendo al archivo. if ($stReg != "B" && $conteEntSal != "S") { $datoX = getLastIn($idConte); $fecEnt = $datoX['fecEnt']; $eir = $datoX['eir']; $damage = getDamage($idConte); $reforzado = getReforzado($idConte); $clase = getValueTable("clase", "CONTENEDOR", "id_contenedor", $idConte); // Calcular los días de almacenaje. $hoy = date("Y-m-d"); $dias = totalDias($fecEnt, $hoy); $row = $conte . $sepa . $equipo . $sepa . $fecEnt . $sepa . $damage . $sepa . $clase . $sepa . $dias . $sepa . $nota . $sepa . $reforzado . $sepa . $eir . $sepa . $naviera . $sepa . $oficinaDB; $row .= "\n"; fputs($fp, $row); } } fclose($fp); // ----------------------------- // SALVAR COMO... O ABRIR EN AUTO. // (No modificar) // ----------------------------- if (file_exists("{$archivo}")) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($archivo)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($archivo)); ob_clean(); flush(); readfile("{$archivo}"); exit; } }