Jump to content


Photo

MANEJO DE FECHAS!!!


  • Please log in to reply
5 replies to this topic

#1 brosso

brosso

    Member

  • Miembros
  • PipPip
  • 27 posts

Posted 18 June 2012 - 10:19 AM

Hola amigos del foro,
tengo una duda, estoy realizando un sistema que gestiona planes de pagos de una cooperativa de creditos,
es decir me dice en que fecha se deberia realizar cada pago,
hasta ahi todo bien,
mi pregunta es que si exactamente el dia en que un cliente debe realizar el pago,
ese dia es feriado, entonces el sistema deberia saltarse de fecha hacia el primer dia habil
despues del feriado

como prodria hacerlo?

de antemano gracias por su ayuda!!!!
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 18 June 2012 - 10:24 AM

Pues debes crear una tabla de feriados, luego haces la verificación a esa tabla, si es feriado sumar 1 día más de lo contrario dejamos la fecha tal como está. Un poco de seudocódigo:



delphi
  1. consulta : select * from feriados where fecha = fechapago;
  2.  
  3. si consulta > 0 entonces
  4. Fecha := Fechapago + 1
  5. de lo contrario
  6. Fecha := Fechapago;



Saludos.
  • 0

#3 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 posts
  • LocationOaxaca, México

Posted 18 June 2012 - 03:28 PM

Otra opción sería, considerando el siguiente supuesto en donde aparte del siguiente día hábil el día anterior hábil; he visto en algunas implementaciones donde prácticamente lo tienen todo en una tablas es decir:

Ejemplo:

DIA_FERIADO  | SIG_HABIL  | ANT_HABIL
01/01/2010      04/01/2010    31/12/2012

ó

01/01/2010            3                    1

Donde podemos ver que ya todo esta previamente calculado, solo es cuestión de ir a la tabla a consultar la fecha de pago y si esta, traer el campo que nos interesa o sumar, según el dato almacenado y sustituir en el SELECT a través de una función podría ser.

Saludos


  • 0

#4 oscar2686

oscar2686

    Newbie

  • Miembros
  • Pip
  • 6 posts

Posted 19 June 2012 - 04:54 PM

Hola Amigo...

Te recomiendo crees una tabla con los dias feriados.

Posteriormente cuando le pases la variable de cuando es la fecha y el tiempo que le das para pagar, realizas una consulta a la base de datos agregando los dias, y evitando los dias feriados.


############################################
$fecha_trabajar= $_POST["c_fec"];
while ($i <= 30 && $validos<=14)
{
$i++;
if(isset($celda[0])){ $fecha_trabajar=$celda[0]; }

$sql_sd="SELECT DATE_ADD('".$fecha_trabajar."', INTERVAL 1 DAY )";
$res=mysql_query($sql_sd) or die ('Error seleccionado pqr');
$celda=mysql_fetch_array($res);
### Entramos buscar si existe alguno con ese fecha
$sql="select * from par_dias_nohabiles where noha_fecha ='".$celda[0]."'";
$res=mysql_query($sql);
$afectadas = mysql_num_rows ($res);

if ($afectadas ==0)
{
$validos=$validos+1;
}else{
$validos=$validos;
}###Final While

}
$frespuesta=$celda[0];
##### Final de Buscamos la Fecha de Respuesta

############################################


Este codigo que te muestro es asi...

Obtengo una fecha a la cual se sumo los dias habiles que se predeterminan, (los sume con una consulta a la bd, pues fue la mas facil que encontre)

Luego lo buscaba en la tabla de los DIAS NO HABILES,

Si estaba sumaba la fecha habil de lo contrario no.

Y asi hasta obtener la fecha de pago.

Se puede hacer dia a dia, mes a mes,  como desee.
  • 0

#5 brosso

brosso

    Member

  • Miembros
  • PipPip
  • 27 posts

Posted 20 June 2012 - 09:45 AM

Perfecto muchas gracias por sus aportes,
en este caso, lo que pasa es qeu si un cliente  no cumple con la fecha del pago
este deberia pasar a una listado de mora, donde debe reflejarse los dias que se
retraso en su pago, 
mi pregunta es como puedo saber la fecha actual, es decir del dia do hoy por asi desirlo,
y que en base a este dato pueda saber cuantos dias de mora tine

gracias por su ayudaaa

una vez mas .................
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 20 June 2012 - 09:59 AM

Perfecto muchas gracias por sus aportes,
en este caso, lo que pasa es qeu si un cliente  no cumple con la fecha del pago
este deberia pasar a una listado de mora, donde debe reflejarse los dias que se
retraso en su pago, 
mi pregunta es como puedo saber la fecha actual, es decir del dia do hoy por asi desirlo,
y que en base a este dato pueda saber cuantos dias de mora tine

gracias por su ayudaaa

una vez mas .................


Date

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.