Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/01/2012, 17:21
max_mouse699
 
Fecha de Ingreso: abril-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 7
Respuesta: Implementando ley FIFO creando codigo en PHP para manipular MySQL

Hola Buenas.

Leyendo este articulo, que es uno de los pocos que encontre que hablen sobre la ley FIFO, tambien tengo el mismo problema que el usuario SirDuque que fue quien inicio y expuso su problema.

MI problema, digo que es parecido, porque yo lo que necesito es algo para muchos muy sencillo que es que me muestre el precio que deberia tener un producto, segun la extraccion del producto; me explico con mator detalle y las tablas que he creado.

Tengo por primera parte, una tabla llamada MOVIMEINTOS_BODEGA, que resgitra los movimeintos de ingreso y egreso de bodega. Esta tabla tiene el siguiente formato.

id_interno // autoincremental
ingreso_egreso // si es un ingreso o egreso
id_tipo_movimiento // que tipo de ingreso, y que tipo de egreso
id_tipo_documento // documento
num_documento // numero del documento
id_articulo
cantidad // canttidad que corresponde segun el movimiento
id_bodega_origen // si es un ingreso, correponde a la bodega a la cual ingresa el producto, si es un traspaso de bodega, corresponde a la bodega de origen de un producto.
id_bodega_destino // corresponde a la bodega de destino de un producto (solo en caso de traspaso)
id_responsable // persona responsable del movimiento
id_responsable_recibe // persona que recibe un producto (en caso de traspaso)
id_persona_autoriza // persona autoriza el traspaso
fecha_autorizacion // fecha de autorizacion del traspaso
fecha_movimiento // fecha en la que se realizael movimiento.

y despues tengo otra tabla en la cual especifico el stock de productos, de acuerdo a la bodega en la cual se encuentre BODEGA_STOCK.

id_interno // autoincremental
id_bodega // corresponde a la bodega
id_articulo // identificacion del articulo
stock_maximo // se establece el stock maximo de un producto para una bodega
stock__minimo // se establece stock minimo ..... (lo mismo)
stock_critico // se establece el stock critico.
cantidad // almacena el stock actual que poseo en bodega de un producto

Se que muchos me diran que es algo improductivo, he indebido almacenar un valor que se debe calcular, debido a que el stock actual se debe calcular, obtenido de: (sumatoria de todos los ingresos) - (sumatoria de todos los egresos), pero la verdad es que tuve que hacrelo asi, para aliviar la carga al servidor, para no tener que siempre estar calculando por cada peticion que se realize.

y manejo otra tabla la cual contiene los precios. esta tabla esta conformada como:

BODEGA_HISTORICO

id_interno // autoincrement
id_detalle_factura // almaceno el id de donde se registro este producto en una factura
id_articulo // articulo comprado
cantidad // cantidad comprada
fecha_compra // fecha de compra del producto
precio unitario // precio del producto por unidad

MOVIMEINTOS BODEGA

1 INGRESO 1 1 111 2 3 1 null 100 null null null 2012-01-03 00:00:00
2 INGRESO 1 1 112 2 5 1 null 100 null null null 2012-01-16 00:00:00
3 EGRESO 4 3 113 2 4 1 null 100 null null null 2012-01-20 00:00:00


BODEGA_STOCK

1 1 2 250 5 3 4

BODEGA_HISTORICO

1 122 2 3 2012-01-03 00:00:00 50
2 142 2 5 2012-01-16 00:00:00 100

ahora lo que yo quiero conseguir es que, de acuerdo a las bases de datos que tengo, poder realizar la consulta, de tal manera que; si realizo un egreso de un producto en 4 unidades, y si quiero consultar el precio de los productos egresados, me muestre en la consulta, que los primeros 3 articulos los cuales ingresaron, costaron 50 cada unidad, y que el cuarto articulo sacado, tiene un costo de 100; que me muestre ambos precios para ese tipo de casos.

Y lo que nose hacer tambien es para cuando el producto se eencuentre dentro de la cantidad de una sola compra, me explico. Por ejemplo, si en ves de sacar 4 unidades, ubiese sacado 2 unidades, cuanto es el costo de ese prodcuto por dos unidades ?

Por lo que estuve leyendo, todo esto, mas lo del usuario que inicio este post, son parte del concepto de FIFO pertenecientes a software de bodega.

Saludos.