# Reporte producción - Apoyo a reporte financiero 06/2020 ###### tags: `DataBase` ## QUERY ### Ejemplos :::info Clave: **MO/39081** <--- Aqui tenemos lo consumido, no reportados y lo finalizado ::: :::info Clave: **MO/39554** <--- Aqui tenemos lo consumido y lo finalizado ::: ### Descripcion El query genera el listado de todos los productos de dilusión con las ordenes aplicadas en el intervalo de `2020-01-01` a `2020-06-01`, mostrando todos los movimientos ==CONSUMIDOS==, ==FINALIZADOS== Y ==NO REPORTADOS==. Si es necesario el nivel de detalle del **quant** solo desmarcar los inner comentados y campos. ### Query ```sql= SELECT d.*, (p.create_date AT TIME ZONE 'UTC') mrpprod_crea, p.product_qty mrpprod_product_qty, p.product_uom_id mrpprod_uom_id, pu."name" mrpprod_uom_name, p."name" mrpprod_mo, ml.product_id id_prod, pp.default_code, ml.product_qty, sm.id sm_id, sm.create_date sm_date, pu2."name" sm_uom, sm.price_unit sm_price_unit, sm.product_qty sm_product_qty, sl2."name" sm_location_origin, sm.state sm_state, sm.ordered_qty sm_qty_order, sl3."name" sm_location_destiny, sm.unit_factor sm_unit_factor, sm.amount_stock_move sm_amount_stock_move, sm.product_categ_id sm_product_category_id, sm.udv_total sm_udv_total, sm.picking_id sm_picking_id, sm.group_id sm_group_id, sm.workorder_id sm_work_order_id, case when sm.state = 'cancel' then 'MATERIAL NO REPORTADO' else 'MATERIAL CONSUMIDO' end material_state FROM dilusion d INNER JOIN mrp_production p ON product_product_id = p.product_id INNER JOIN product_uom pu on p.product_uom_id = pu.id INNER JOIN mrp_bom_line ml on d.mb_id = ml.bom_id INNER JOIN product_product pp on ml.product_id = pp.id inner JOIN stock_move sm on sm.origin = p."name" inner join product_uom pu2 on pu2.id = sm.product_uom inner join stock_location sl2 on sm.location_id = sl2.id inner join stock_location sl3 on sm.location_dest_id = sl3.id /*LEFT JOIN stock_quant_move_rel sr ON sm.id = sr.move_id LEFT JOIN stock_quant sq ON sq.id = sr.quant_id*/ WHERE ( p.create_date AT TIME ZONE 'UTC' ) BETWEEN '2020-01-01' AND '2020-06-01' AND p.name = 'MO/39081' AND sm.product_id = ml.product_id union SELECT d.*, (p.create_date AT TIME ZONE 'UTC') mrpprod_crea, p.product_qty mrpprod_product_qty, p.product_uom_id mrpprod_uom_id, pu."name" mrpprod_uom_name, p."name" mrpprod_mo, pp2.id id_prod, pp2.default_code default_code, 0 product_qty, sm.id sm_id, sm.create_date sm_date, pu2."name" sm_uom, sm.price_unit sm_price_unit, sm.product_qty sm_product_qty, sl2."name" sm_location_origin, sm.state sm_state, sm.ordered_qty sm_qty_order, sl3."name" sm_location_destiny, sm.unit_factor sm_unit_factor, sm.amount_stock_move sm_amount_stock_move, sm.product_categ_id sm_product_category_id, sm.udv_total sm_udv_total, sm.picking_id sm_picking_id, sm.group_id sm_group_id, sm.workorder_id sm_work_order_id, 'MATERIAL FINALIZADO' material_state FROM dilusion d INNER JOIN mrp_production p ON d.product_product_id = p.product_id INNER JOIN product_uom pu on p.product_uom_id = pu.id inner JOIN stock_move sm on sm.origin = p."name" inner join product_uom pu2 on pu2.id = sm.product_uom inner join stock_location sl2 on sm.location_id = sl2.id inner join stock_location sl3 on sm.location_dest_id = sl3.id inner join product_product pp2 on p.product_id = pp2.id /*LEFT JOIN stock_quant_move_rel sr ON sm.id = sr.move_id LEFT JOIN stock_quant sq ON sq.id = sr.quant_id*/ WHERE ( p.create_date AT TIME ZONE 'UTC' ) BETWEEN '2020-01-01' AND '2020-06-01' AND p.name = 'MO/39081' AND sm.product_id = p.product_id and sm.production_id notnull; ``` ## Reporte a nivel de detalle de movimiento ```sql= select * from dilusion_movimientos where mrpprod_mo = 'MO/39081'; ``` ## Reporte a nivel de detalle de quant ```sql= select dm.*, sr.quant_id, sq.create_date quant_date, sq.qty quant_qty, sq."cost" quant_cost, sl."name" quant_location, sq.udv_total quant_udv_total from dilusion_movimientos dm LEFT JOIN stock_quant_move_rel sr ON dm.sm_id = sr.move_id LEFT JOIN stock_quant sq ON sq.id = sr.quant_id left join stock_location sl on sq.location_id = sl.id where mrpprod_mo = 'MO/39081'; ``` :::warning Favor de poner el intervalo de fechas para la busqueda con el campo **mrpprod_crea** :::