Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta Funcion FIFO

Estas en el tema de Consulta Funcion FIFO en el foro de PHP en Foros del Web. Junto con saludar necesito ayuda para la implementacion de una funcion que simule el metodo fifo es decir tengo los siguientes codigos de productos ordenados ...
  #1 (permalink)  
Antiguo 19/10/2014, 08:35
super_edo_line
Invitado
 
Mensajes: n/a
Puntos:
Consulta Funcion FIFO

Junto con saludar necesito ayuda para la implementacion de una funcion que simule el metodo fifo

es decir tengo los siguientes codigos de productos ordenados por fecha con sus cantidades respectivas, en donde el metodo fifo dice el primero que entra es el primero en salir

Cantidad a salir 100 u

cod stock

1001 20
1002 30
1003 30
1001 10
1005 50
1002 0

el codigo es distinto ya que son el mismo producto de distintos proveedores

segun metodo fifo debiera sacar

20u 1001
30u 1002
30u 1002
10u 1001
10u 1002

quedando

1001 0
1002 0
1003 0
1001 0
1005 40
1002 0

como puedo implementar esa funcion he tratado pero no me resulta ayuda plisss
  #2 (permalink)  
Antiguo 19/10/2014, 11:01
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Consulta Funcion FIFO

Buen día super_edo_line,

Supongo que deseas implementar esto en PHP con alguna DB en MySQL. Pues bien, creo que obteniendo en un select ordenado por fecha y usando un ciclo recorriendolo lo obtendrías.

De todas formas coloca el código que estas usando para ver lo que implementas.

Saludos,
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 19/10/2014, 12:35
super_edo_line
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta Funcion FIFO

estimado esta es mi consulta

$consulta1 = "select kardex.Id_Mov, kardex.Disponible,kardex.Fecha_Entrada, kardex.Cod_Producto, kardex.Precio from kardex
inner join producto on kardex.Cod_Producto = producto.Cod_Producto
inner join unidad_medida on kardex.Id_Medida = unidad_medida.Id_Medida
inner join envase on kardex.Id_Envase = envase.Id_Envase
inner join presentacion on kardex.Id_Presentacion = presentacion.Id_Presentacion
where
producto.Nombre_Gen = '$patron'
and Cantidad_Unidad = '$patron1'
and Unidad_M = '$patron2'
and DesPresentacion = '$patron3'
and Nombre_Envase = '$patron4'
and Verifica = '0'
order by Fecha_Entrada";
$ejecuta1 = mysql_query ($consulta1,$con);
$j = 0;


while ($row=mysql_fetch_array($ejecuta1)){

$idmov = $row['Id_Mov'];
$dispo = $row['Disponible'];
$fe = $row['Fecha_Entrada'];
$cod = $row['Cod_Producto'];
$Precio = $row['Precio'];

$vectorC [$j]= $cod;
$vectorD [$j]= $dispo;
$j++;

}

return $vectorD;
}


con esta consulta obtengo los codigos con sus cantidades respectivas ordenadas por fecha

mi problema es trabajar el vector creado por ejemplo

tengo que ir sacando del vector hasta que se cumpla con la cantidad solicitada ahi me perdio eso es lo que no puedo implementar he tratado pero no me resulta
  #4 (permalink)  
Antiguo 19/10/2014, 13:55
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Consulta Funcion FIFO

Ok, lo que entiendo que necesitas es mas o menos esto:

Código PHP:
Ver original
  1. $consulta1 = "select kardex.Id_Mov, kardex.Disponible,kardex.Fecha_Entrada, kardex.Cod_Producto, kardex.Precio from kardex
  2. inner join producto on kardex.Cod_Producto = producto.Cod_Producto
  3. inner join unidad_medida on kardex.Id_Medida = unidad_medida.Id_Medida
  4. inner join envase on kardex.Id_Envase = envase.Id_Envase
  5. inner join presentacion on kardex.Id_Presentacion = presentacion.Id_Presentacion
  6. where
  7. producto.Nombre_Gen = '$patron'
  8. and Cantidad_Unidad = '$patron1'
  9. and Unidad_M = '$patron2'
  10. and DesPresentacion = '$patron3'
  11. and Nombre_Envase = '$patron4'
  12. and Verifica = '0'
  13. order by Fecha_Entrada";
  14. $ejecuta1 = mysql_query ($consulta1,$con);
  15. $j = 0;
  16.  
  17. while ($row=mysql_fetch_array($ejecuta1))
  18. {
  19. $vectorC [$j][0]= $row['Cod_Producto'];
  20. $vectorC [$j][1]= $row['Disponible'];
  21. $j++;
  22. }

Luego procesamos esta matriz mas o menos así:
Código PHP:
Ver original
  1. $i=0;
  2. $solicitadas = $CantSolicitada;
  3. while($i < count($vectorC) && $solicitadas>0)
  4. {
  5.   if($vectorC[$i][1]>0)
  6.   {
  7.       if($vectorC[$i][1] >= $solicitadas)
  8.        {
  9.            $vectorC[$i][1] = $vectorC[$i][1]-$solicitadas;
  10.            $solicitadas = 0;
  11.         }
  12.        else
  13.         {
  14.             $solicitadas = $solicitadas - $vectorC[$i][1];
  15.             $vectorC[$i][1] = 0;
  16.          }
  17.   }
  18.    $i++;
  19. }

Saludos,
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 19/10/2014, 16:38
super_edo_line
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta Funcion FIFO

Estimado muchass gracias por responder primero que nada el codigo me sirvio mucho y cumple con lo que necesitaba Graciasssssss

Etiquetas: fecha, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:26.