function updateCalDem($idBl) { global $dbW; $sql = "select id_bl_conte from BL_CONTE where id_bl='{$idBl}'"; $dbW->query($sql); while ($dbW->next_record()) { $arrIdBlConte[] = $dbW->f(id_bl_conte); } // buscar calculo para estos regstros. for ($i = 0; $i < count($arrIdBlConte); $i++) { $idBlConte = $arrIdBlConte[$i]; if (existCalculo($idBlConte)) { $idBl = getValueTable("id_bl", "BL_CONTE", "id_bl_conte", $idBlConte); $idConte = getValueTable("id_contenedor", "BL_CONTE", "id_bl_conte", $idBlConte); $idCalculo = getValueTable("id_calculo", "D_CALCULO", "id_bl_conte", $idBlConte); $fechaVacio = getValueTable("fecha_vacio", "D_CALCULO", "id_calculo", $idCalculo); $tipoCalculo = getValueTable("st_tipo_calculo", "D_CALCULO", "id_calculo", $idCalculo); // --- RUTINA TOMADA DE "demCalculo3.php" // conocer si ya han apliacado dias libres, // entoces tomar los dias libres que aplicaron y pasarlos // a la funcion para el calculo de demoras. $usrAplicoDiasLib = getValueTable("diaLib_usr", "D_CALCULO", "id_calculo", $idCalculo); if ($usrAplicoDiasLib > 0) { // si el usuario aplico dias libres a su libre albeldrio debe tomarse // en cuenta lo que el usuario aplico. $libDias = getValueTable("libre_dias", "D_CALCULO", "id_calculo", $idCalculo); calcularDemora($idCalculo, $fechaVacio, $tipoCalculo, $libDias); } else { calcularDemora($idCalculo, $fechaVacio, $tipoCalculo); } // ------------------------------------------------ $pagosRealizados = getMontoPagado($idBl, $idConte); $pagosRealizadosTl = getMontoPagadoTl($idBl, $idConte); calcularPendientes($idCalculo, $pagosRealizados, $pagosRealizadosTl); // --- FIN RUTINA demCalculo3.php } } }
function reporteCsv($arrIdCli, $fecha1, $fecha2, $fv) { global $db, $db2; //$usuario=getValueTable("Nombre","USUARIO","Id_usuario",$mscIdUsuario); //$pais = getValueTable("pais","INFO","id_info",1); //$cliente=getValueTable("cliente","D_CLIENTE","id_cliente",$idCliente); foreach ($arrIdCli as $idCliente) { // -------------------------------------------------------- // ACTUALZA COBRANZA // -------------------------------------------------------- $sql = "select c.id_calculo as ID_CALCULO, "; $sql .= "c.st_tipo_calculo as TIPO_CAL,"; $sql .= "c.diaLib_usr as DL_APL_USR, "; $sql .= "c.libre_dias as DL,"; $sql .= "c.fecha_vacio as FV,"; $sql .= "c.id_bl_conte as ID_BL_CONTE "; $sql .= "from D_CALCULO c, BL_CONTE bc, EXPO e, BARCO b, D_CLIENTE cc "; $sql .= "where "; $sql .= "c.id_bl_conte=bc.id_bl_conte and "; $sql .= "c.id_cliente='{$idCliente}' and "; $sql .= "bc.Id_bl=e.Id_expo and "; $sql .= "e.Id_barco=b.Id_barco and "; $sql .= "c.id_cliente=cc.id_cliente and "; $sql .= "c.dias_demora >= 15 and "; $sql .= "c.libre_f1 BETWEEN '{$fecha1}' and '{$fecha2}' "; // Morosos // $sql.="and c.pago_pendiente_iva > 0 "; //$sql.="order by c.id_cliente "; $db->query($sql); while ($db->next_record()) { $idCalculo = $db->f(ID_CALCULO); $tipoCal = $db->f(TIPO_CAL); //echo "tipo(1): $tipoCal / $idCalculo / $idCliente<br>"; if ($tipoCal == "P") { $usrAplicoDiasLib = $db->f(DL_APL_USR); if ($usrAplicoDiasLib > 0) { $libDias = $db->f(DL); if (!empty($tipoCal)) { $hoy = date("Y-m-d"); $fvDb = $db->f(FV); if ($fvDb != $hoy) { calcularDemora($idCalculo, $fv, $tipoCal, $libDias); } } } else { $fvDb = $db->f(FV); if ($fvDb != $fv) { calcularDemora($idCalculo, $fv, $tipoCal); } } } // Actualizar pagos realizados y pendientes // ---------------------------------------- $idBlConte = $db->f(ID_BL_CONTE); $idBl = getValueTable("id_bl", "BL_CONTE", "id_bl_conte", $idBlConte); $idConte = getValueTable("id_contenedor", "BL_CONTE", "id_bl_conte", $idBlConte); $pagosRealizados = getMontoPagado($idBl, $idConte); $pagosRealizadosTl = getMontoPagadoTl($idBl, $idConte); // ------------------------------------------------------- // IMPORTANTE: Esta funcion puede quitar mucho tiempo de proceso. // Pero es importante, ya que trae los pagos realizados por parte del cliente. // Asi que no se debe evitar. calcularPendientes($idCalculo, $pagosRealizados, $pagosRealizadosTl); // ------------------------------------------------------- $bl = getValueTable("Bl", "EXPO", "Id_expo", $idBl); $conte = getValueTable("Numero", "CONTENEDOR", "id_contenedor", $idConte); } } foreach ($arrIdCli as $idCliente) { $idEje = getValueTable("id_eje", "D_CLIENTE", "id_cliente", $idCliente); switch ($idEje) { case "80": // Catalina Alonso $arrCliCata[] = $idCliente; break; case "81": // Raymundo Perez $arrCliRay[] = $idCliente; break; case "155": // Miguel Ramirez $arrCliMike[] = $idCliente; break; case "171": // Evaristo Morales $arrCliEva[] = $idCliente; break; case "194": // Tona $arrCliTona[] = $idCliente; break; default: break; } } require_once '../include/pclzip.lib.php'; // ----------------------- // Reportes por Ejecutivos // ----------------------- if (is_array($arrCliCata)) { $cliCata = implode(",", $arrCliCata); reporteCsvP2($cliCata, 80, $fecha1, $fecha2, $fv); // ZIP $archive = new PclZip('../files/demPosAba_80.zip'); $v_list = $archive->add('../files/demPosAba_80.csv', PCLZIP_OPT_ADD_PATH, 'install', PCLZIP_OPT_REMOVE_PATH, 'dev'); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } // EMAIL sendReportEmail(80); // ELIMINA - BASURA unlink("../files/demPosAba_80.zip"); unlink("../files/demPosAba_80.csv"); } if (is_array($arrCliRay)) { $cliRay = implode(",", $arrCliRay); reporteCsvP2($cliRay, 81, $fecha1, $fecha2, $fv); // ZIP $archive = new PclZip('../files/demPosAba_81.zip'); $v_list = $archive->add('../files/demPosAba_81.csv', PCLZIP_OPT_ADD_PATH, 'install', PCLZIP_OPT_REMOVE_PATH, 'dev'); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } // EMAIL sendReportEmail(81); // ELIMINA - BASURA unlink("../files/demPosAba_81.zip"); unlink("../files/demPosAba_81.csv"); } if (is_array($arrCliMike)) { $cliMike = implode(",", $arrCliMike); reporteCsvP2($cliMike, 155, $fecha1, $fecha2, $fv); // ZIP $archive = new PclZip('../files/demPosAba_155.zip'); $v_list = $archive->add('../files/demPosAba_155.csv', PCLZIP_OPT_ADD_PATH, 'install', PCLZIP_OPT_REMOVE_PATH, 'dev'); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } // EMAIL sendReportEmail(155); // ELIMINA - BASURA unlink("../files/demPosAba_155.zip"); unlink("../files/demPosAba_155.csv"); } if (is_array($arrCliEva)) { $cliEva = implode(",", $arrCliEva); reporteCsvP2($cliEva, 171, $fecha1, $fecha2, $fv); // ZIP $archive = new PclZip('../files/demPosAba_171.zip'); $v_list = $archive->add('../files/demPosAba_171.csv', PCLZIP_OPT_ADD_PATH, 'install', PCLZIP_OPT_REMOVE_PATH, 'dev'); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } // EMAIL sendReportEmail(171); // ELIMINA - BASURA unlink("../files/demPosAba_171.zip"); unlink("../files/demPosAba_171.csv"); } if (is_array($arrCliTona)) { $cliTona = implode(",", $arrCliTona); reporteCsvP2($cliTona, 194, $fecha1, $fecha2, $fv); // ZIP $archive = new PclZip('../files/demPosAba_194.zip'); $v_list = $archive->add('../files/demPosAba_194.csv', PCLZIP_OPT_ADD_PATH, 'install', PCLZIP_OPT_REMOVE_PATH, 'dev'); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } // EMAIL sendReportEmail(194); // ELIMINA - BASURA unlink("../files/demPosAba_194.zip"); unlink("../files/demPosAba_155.csv"); } }