🌹🏠🌹？》《》？《》？<?php
include_once "../Lib/PDF.php";
include_once "../Lib/inicio.php";
include_once "../Lib/r_mails.php";
include_once "../Lib/funciones.php";
include_once "../Lib/r_general.php";
include_once "../Lib/PHPExcel-1.8/Classes/PHPExcel.php";

$pdf = new PDF('L');
$objPHPExcel = new PHPExcel();

$p_titulo    = "Consulta de Entregas pendientes por Articulos (SIN Remitos Repuestos) ";
$p_tit       = r_empresa_des($_GET['emp']);
$pdf->titulo = $p_titulo;
$pdf->sub_titulo = $p_tit;
$p_alto   = 5;
$p_borde  = 0;
$pa_tit   = array();
$pa_tit[] = array('campo'=>'Doc.','tamano'=>15, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'FC.','tamano'=>10, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Cliente','tamano'=>45, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Fec.Doc.','tamano'=>15, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Fec.Ini.','tamano'=>15, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Fec.Ped.Turno','tamano'=>25, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Fec.Difer.','tamano'=>15, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Esp.','tamano'=>8, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Esp.L.','tamano'=>10, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Articulo','tamano'=>20, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Descripcion','tamano'=>50, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Bul.','tamano'=>10, 'centrado'=>'R');
$pa_tit[] = array('campo'=>'Unid.','tamano'=>10, 'centrado'=>'R');
$pa_tit[] = array('campo'=>'Vol.','tamano'=>15, 'centrado'=>'R');
$pa_tit[] = array('campo'=>'Est.','tamano'=>15, 'centrado'=>'D');
$pa_tit[] = array('campo'=>'Area','tamano'=>10, 'centrado'=>'R');
$pdf->encabezado = $pa_tit;

$pdf->AliasNbPages();
$pdf->SetLeftMargin(5);
$pdf->AddPage();
$pdf->SetFillColor(255,255,255);
$pdf->SetFont('Arial','', 7);

$objPHPExcel->getProperties()->setCreator("GLSA")
                ->setTitle($p_titulo)
                ->setSubject($p_titulo)
                ->setDescription("")
                ->setKeywords("")
                ->setCategory("");

$objPHPExcel->getActiveSheet()->setTitle('Consulta Remitos');
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', $p_titulo)
            ->setCellValue('A2', $p_tit);

$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(50);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(50);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(20);

$styleArray = array(
    'font'  => array(
        'bold'  => true,
        'color' => array('rgb' => '#70296F'),
        'size'  => 15,
        'name'  => 'Verdana'
    ));

$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);

$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A3', 'Documento')
            ->setCellValue('B3', 'Nro.Factura')
            ->setCellValue('C3', 'Cliente')
            ->setCellValue('D3', 'Fec.Doc.')
            ->setCellValue('E3', 'Fec.Ini.Comp')
            ->setCellValue('F3', 'Fec.Pedido Turno')
            ->setCellValue('G3', 'Fec.Difer.')
            ->setCellValue('H3', 'Espera')
            ->setCellValue('I3', 'Espera Log.')
            ->setCellValue('J3', 'Articulo')
            ->setCellValue('K3', 'Descripcion')
            ->setCellValue('L3', 'Bultos')
            ->setCellValue('M3', 'Unidades')
            ->setCellValue('N3', 'M3')
            ->setCellValue('O3', 'Estado')
            ->setCellValue('P3', 'Area');

$p_total_bul = 0;
$p_total_uns = 0;
$p_total_vol = 0;
$p_can_rm    = 0;
$p_row       = 4;
$p_suc_ant   = -1;
$p_nro_ant   = 0;
/*
$sql="select a.tdoc,a.letra,a.sucur,a.numero,a.nro_factura,a.fecha_doc,
             a.fecha_ini_comp,a.fecha_difer,a.fecha_pedido_turno,
             c.raz_soc,a.espera,a.espera_logistica,
             b.articulo,d.descripcion,b.bultos,b.unidades,b.volumen,
             e.descri estado_des,d.volumen_art,d.upb
       from {$Base->base_web}rem_cab a, {$Base->base_web}rem_det b, 
            clientes_emp c, articulo d, estados e
       where a.empresa = b.empresa   
         and a.tdoc    = b.tdoc
         and a.letra   = b.letra
         and a.sucur   = b.sucur
         and a.numero  = b.numero
         and a.empresa = c.empresa
         and a.codigo_cliente = c.codigo
         and b.empresa = d.empresa
         and b.articulo = d.articulo
         and b.estado   = e.estado
         and a.empresa  = '{$_GET['emp']}'
         and a.tdoc     = 'RTO'
         and a.letra   != 'R'
         and a.estado in ( 1,2,3,8) 
         and b.estado != 99 "; 
if (isset($_GET['cli']) && strlen($_GET['cli']) > 0){
  $p_cliente = strtoupper(rtrim($_GET['cli']));
  $sql.="and c.raz_soc like '%".$p_cliente."%' ";
}       
if (isset($_GET['art']) && strlen($_GET['art']) > 0){
  $p_articulo = strtoupper(rtrim($_GET['art']));
  $sql.="and b.articulo = '$p_articulo' ";
}
if ($_GET['espera'] != 'T'){
  $sql.=" and a.espera_logistica = '{$_GET['espera']}' ";  
}
$sql.="order by 7,1,2,3,4,5,6 ";
*/
$sql="select e.tdoc,a.letra,a.sucur,a.numero,e.nro_factura,e.fecha_doc fecha_doc,e.fecha_difer,
                e.fecha_ini_comp,e.fecha_pedido_turno,b.des_ped raz_soc,e.espera,e.espera_logistica,e.estado,
                a.articulo, c.descripcion,c.upb, c.volumen_art, a.condicion,f.area_orig,
                sum(a.cantidad/c.upb) bultos
        from {$Base->base_wms}prop_ccr a, {$Base->base_wms}ped_ccr  b, {$Base->base_wms}articulo c, {$Base->base_web}rem_cab e, {$Base->base_wms}concepto_stock f
       where a.empresa   = b.empresa
         and a.tipo_mov  = b.tipo_mov
         and a.letra     = b.letra
         and a.sucur     = b.sucur 
         and a.numero    = b.numero
         and a.secuencia = b.secuencia
         and a.empresa   = c.empresa
         and a.articulo  = c.articulo
         and a.empresa   = e.empresa 
         and a.letra     = e.letra
         and a.sucur     = e.sucur 
         and a.numero    = e.numero
         and a.concepto  = f.concepto
         and e.tdoc      = 'RTO'
         and e.letra    != 'R'
         and e.estado in ( 1,2,3,8 )
         and a.empresa  = '{$_GET['emp']}'
         and a.condicion in ('P0','C')";
if (isset($_GET['cli']) && strlen($_GET['cli']) > 0){
    $p_cliente = strtoupper(rtrim($_GET['cli']));
    $sql.="and b.des_ped like '%".$p_cliente."%' ";
}
if (isset($_GET['art']) && strlen($_GET['art']) > 0){
    $p_articulo = strtoupper(rtrim($_GET['art']));
    $sql.="and b.articulo = '$p_articulo' ";
}
if ($_GET['espera'] != 'T'){
    $sql.=" and a.espera_logistica = '{$_GET['espera']}' ";
}
$sql.="group by e.tdoc,a.letra,a.sucur,a.numero,e.nro_factura,b.fec_doc,fecha_doc,e.fecha_difer,
                e.fecha_ini_comp,e.fecha_pedido_turno, b.des_ped,e.espera,e.espera_logistica,e.estado,
                a.articulo,c.descripcion,c.upb,c.volumen_art,a.condicion,f.area_orig
       order by 1,2,3,4,5,6,7,8";

$resultado=@odbc_exec($Base->conexion,$sql);
while ($fila= odbc_fetch_array($resultado) )
{
    $p_area = $fila['area_orig'];
    $p_estado_des = r_estados_rem($fila['estado']);
    if ($fila['estado'] == 1 || $fila['estado'] == 3 ){
        if (trim($fila['condicion']) == 'C'){
            $p_estado_des = r_estados_rem(1);
        }
        if (trim($fila['condicion']) == 'P0'){
            $p_estado_des = r_estados_rem(3);
        }

    }

    //$p_estado_des = trim($fila['estado_des']);
    $p_bultos   = sprintf("%0.0f",$fila['bultos']);
    $p_unidades = $fila['bultos'] * $fila['upb'];
    $p_volumen  = $p_bultos * $fila['volumen_art'];
    $p_volumen  = sprintf("%0.3f",$p_volumen);
    $p_fecha_doc = date("d-m-Y",strtotime($fila['fecha_doc']));
    $p_fecha_dif = '';
    if (strlen($fila['fecha_difer']) > 0 && date("Y",strtotime($fila['fecha_difer'])) > 1970 ){
      $p_fecha_dif = date("d-m-Y",strtotime($fila['fecha_difer']));
    }
    $p_fecha_ini = '';
    if (strlen($fila['fecha_ini_comp']) > 0 && $fila['fecha_ini_comp'] != '1900-01-01' && $fila['fecha_ini_comp'] != '1969-12-31'){
      $p_fecha_ini = date("d-m-Y",strtotime($fila['fecha_ini_comp']));
    }
    $p_fecha_ped = '';
    if (strlen($fila['fecha_pedido_turno']) > 0 && $fila['fecha_pedido_turno'] != '1900-01-01' && $fila['fecha_pedido_turno'] != '1969-12-31'){
      $p_fecha_ped = date("d-m-Y",strtotime($fila['fecha_pedido_turno']));
    }

    $p_doc = $fila['sucur']."-".$fila['numero'];
    $pdf->cell(15,$p_alto,$p_doc,$p_borde,0,'');
    $pdf->cell(10,$p_alto,$fila['nro_factura'],$p_borde,0,'');
    $pdf->cell(45,$p_alto,$fila['raz_soc'],$p_borde,0,'');
    $pdf->cell(15,$p_alto,$p_fecha_doc,$p_borde,0,'');
    $pdf->cell(15,$p_alto,$p_fecha_ini,$p_borde,0,'');
    $pdf->cell(25,$p_alto,$p_fecha_ped,$p_borde,0,'');
    $pdf->cell(15,$p_alto,$p_fecha_dif,$p_borde,0,'');
    $pdf->cell(8,$p_alto,$fila['espera'],$p_borde,0,'');
    $pdf->cell(10,$p_alto,$fila['espera_logistica'],$p_borde,0,'');
    $pdf->cell(20,$p_alto,$fila['articulo'],$p_borde,0,'');
    $pdf->cell(50,$p_alto,$fila['descripcion'],$p_borde,0,'');
    $pdf->cell(10,$p_alto,$p_bultos,$p_borde,0,'R');
    $pdf->cell(10,$p_alto,$p_unidades,$p_borde,0,'R');
    $pdf->cell(15,$p_alto,$p_volumen,$p_borde,0,'R');
    $pdf->cell(15,$p_alto,$p_estado_des,$p_borde,0,'');
    $pdf->cell(10,$p_alto,$p_area,$p_borde,1,'R');

    $p_columna = 0;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_doc);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $fila['nro_factura']);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $fila['raz_soc']);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_fecha_doc);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_fecha_ini);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_fecha_ped);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_fecha_dif);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $fila['espera']);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $fila['espera_logistica']);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $fila['articulo']);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $fila['descripcion']);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_bultos);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_unidades);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_volumen);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_estado_des);
    $p_columna++;
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_area);

    $p_row++;

    $p_total_bul+=$fila['bultos'];
    $p_total_uns+=$p_unidades;
    $p_total_vol+=$p_volumen;

    if ($p_suc_ant != $fila['sucur'] || $p_nro_ant != $fila['numero']) {
        $p_can_rm++;
    }
    $p_suc_ant   = $fila['sucur'];
    $p_nro_ant   = $fila['numero'];

}

$p_total_vol=sprintf("%0.3f",$p_total_vol);

$pdf->cell(20,$p_alto,"",$p_borde,1);
$pdf->cell(35,$p_alto,"TOTALES:",$p_borde,0);
$pdf->cell(15,$p_alto,$p_can_rm." Remitos",$p_borde,0,'R',true);
$pdf->cell(178,$p_alto,"",$p_borde,0);
$pdf->cell(10,$p_alto,$p_total_bul,$p_borde,0,'R',true);
$pdf->cell(10,$p_alto,$p_total_uns,$p_borde,0,'R',true);
$pdf->cell(15,$p_alto,$p_total_vol,$p_borde,1,'R',true);

$pdf->SetLineWidth(0.3);
$pdf->Line(5,$pdf->GetY(),290,$pdf->GetY());

$p_row++;
$p_columna = 0;
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, 'TOTALES:');
$p_columna++;
$p_columna++;
$p_columna++;
$p_columna++;
$p_t = $p_can_rm." Remitos";
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_t);
$p_columna+=7;
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_total_bul);
$p_columna++;
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_total_uns);
$p_columna++;
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($p_columna, $p_row, $p_total_vol);

switch ($_GET['donde']) {
case 'I':
    $pdf->Output();
    break;
case 'E':
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename=remitos.xlsx');
    header('Cache-Control: max-age=0');
    $objWriter->save('php://output');
    break;
 
default:   
    $pdf->Output("F","Articulos Pendientes de Remitos.pdf");
    r_envio($_SESSION['mail'],$pdf->titulo," ","Articulos Pendientes de Remitos.pdf");
    break;
} 

?>
