Пример #1
0
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;
}
Пример #2
0
 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;
     }
 }
Пример #3
0
 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;
     }
 }