/administracion/models/ventas/ventas_restaurant/ventas/query/ventas_restaurant_anular_venta.php
PHP | 258 lines | 205 code | 38 blank | 15 comment | 15 complexity | 59418f076acd6939d695d5d8fcf45289 MD5 | raw file
- <?php
- include "../../../../../config/conexion.php";
- include "../../../../../config/basico.php";
- $ventas_id = $_POST['ventas_id'];
- $usuario_id = $_POST['usuario_admin_id'];
- $cliente_id = $_POST['cliente_id'];
- $mesa_id = $_POST['mesa_id'];
- $comentario = substr($_POST['comentario'], 0, 200);
- /*verificamos si las variables se envian*/
- if(empty($ventas_id)) {
- echo "Usted no a llenado todos los campos";
- exit;
- }
- /*Recuperamos variables de VENTA*/
- $query = "SELECT
- ventas.descuento
- FROM
- ventas ,
- sala_mesa ,
- cliente
- WHERE
- ventas.mesa_id = sala_mesa.mesa_id AND
- ventas.cliente_id = cliente.cliente_id AND
- ventas.estado_mesa = 1 AND
- ventas.mesa_id = $mesa_id" ;
- mysql_select_db($database_fastERP, $fastERP);
- $table = mysql_query($query, $fastERP) or die(mysql_error());
- $row_table = mysql_fetch_assoc($table);
- $query_ventas_det = "SELECT
- ventas_det.cantidad,
- FORMAT(ventas_det.precio, 2) AS precio,
- ventas_det.comentario,
- insumo.insumo
- FROM
- ventas ,
- ventas_det ,
- insumo
- WHERE
- ventas.ventas_id = ventas_det.ventas_id AND
- ventas_det.producto_id = insumo.insumo_id AND
- ventas_det.ventas_id = $ventas_id" ;
- $ventas_det = mysql_query($query_ventas_det, $fastERP) or die(mysql_error());
- $row_ventas_det = mysql_fetch_assoc($ventas_det);
- $total_acumulado = 0;
- do {
- $total_acumulado += $row_ventas_det['precio'] * $row_ventas_det['cantidad'];
- } while ($row_ventas_det = mysql_fetch_assoc($ventas_det));
- /*Variables de consulta*/
- $valor_neto = ($total_acumulado - $row_table['descuento']) / 1.18;
- $impuesto1 = $valor_neto * 0.18;
- $total = $total_acumulado - $row_table['descuento'];
- /*BEGIN END TABLE*/
- /*estado_mesa= 4 Estado de mesa N° 4 = terminado*/
- $query_ventas = sprintf("UPDATE `controlg_controlerp`.`ventas`
- SET fecha_anulado = now(), usuario_id_anular = %d, impuesto1 = '%s', valor_neto = '%s', total = '%s',
- estado = 3, estado_mesa = 4, comprobante_tipo = '', comentario_anula = '%s'
- WHERE ventas_id=%d;",
- fn_filtro($usuario_id),
- fn_filtro($impuesto1),
- fn_filtro($valor_neto),
- fn_filtro($total),
- fn_filtro($comentario),
- fn_filtro((int)$ventas_id)
- );
- mysql_select_db($database_fastERP, $fastERP);
- $ventas = mysql_query($query_ventas, $fastERP) or die(mysql_error());
- $query_ventas = sprintf("UPDATE `controlg_controlerp`.`sala_mesa`
- SET estado = 0
- WHERE mesa_id = %d;",
- fn_filtro((int)$mesa_id)
- );
- mysql_select_db($database_fastERP, $fastERP);
- $ventas = mysql_query($query_ventas, $fastERP) or die(mysql_error());
-
- /**/
- /**/
- /*INSERT de los insumos al ALMACEN*/
- $query = "SELECT
- insumo_det.unidad_comp_id,
- ins.unidad_id,
- ins.categoria_id,
- ins.insumo,
- ins.insumo_id,
- prod.area_produccion_id,
- (
- IF(ventas_det.comentario LIKE '1/2 plato%' ,
- ((ventas_det.cantidad * insumo_det.cantidad) / 2),
- (ventas_det.cantidad * insumo_det.cantidad))
- ) AS cantidad
- FROM
- insumo AS prod ,
- insumo_det ,
- insumo AS ins ,
- ventas ,
- ventas_det
- WHERE
- insumo_det.insumo_id = prod.insumo_id AND
- insumo_det.insumo_comp_id = ins.insumo_id AND
- ventas_det.producto_id = prod.insumo_id AND
- ventas.ventas_id = ventas_det.ventas_id AND
- ventas.ventas_id = $ventas_id";
- mysql_select_db($database_fastERP, $fastERP);
- $table = mysql_query($query, $fastERP) or die(mysql_error());
- $row_table = mysql_fetch_assoc($table);
- $unidad_id = ($row_table['unidad_id'] == '') ? 0 : $row_table['unidad_id'];
- $unidad_comp_id = ($row_table['unidad_comp_id'] == '') ? 0 : $row_table['unidad_comp_id'];
- /*STOCK SALIDA*/
- /*QUERY PARA BUSCAR EL ALMACEN SEGUN SU USUARIO*/
- $query_almacen = " SELECT usuario_almacen.almacen_id
- FROM usuario , usuario_almacen
- WHERE usuario.usuario_id = usuario_almacen.usuario_id
- AND usuario_almacen.usuario_id = $usuario_id " ;
- $almacen = mysql_query($query_almacen, $fastERP) or die(mysql_error());
- $row_almacen = mysql_fetch_assoc($almacen);
- $almacen_id = $row_almacen['almacen_id'];
- $stock_out = sprintf("INSERT INTO `controlg_controlerp`.`stock_out` (`usuario_id`, `almacen_id`, `ventas_id`, `fecha`, `tipo_salida`, `detalle`)
- VALUES ('%s', '%s', '%s', now(), 1, 'venta');",
- fn_filtro($usuario_id),
- fn_filtro($almacen_id),
- fn_filtro($ventas_id)
- );
- if(!mysql_query($stock_out, $fastERP)){ echo "Error al insertar:\n$stock_out"; }
- $stock_in_id = mysql_insert_id();
- do {
- /*Query equivalencia de UNIDAD*/
- $query_unidad = "SELECT unidad_detalle.equivalencia
- FROM unidad AS origen , unidad_detalle , unidad AS destino
- WHERE unidad_detalle.unidad_origen_id = origen.unidad_id
- AND unidad_detalle.unidad_destino_id = destino.unidad_id
- AND origen.unidad_id = $unidad_id
- AND destino.unidad_id = $unidad_comp_id;";
- mysql_select_db($database_fastERP, $fastERP);
- $unidad = mysql_query($query_unidad, $fastERP) or die(mysql_error());
- $row_unidad = mysql_fetch_assoc($unidad);
- $cantidad_receta = ($row_table['categoria_id'] == 2) ? ($row_table['cantidad'] * -1) : (($row_table['cantidad'] * $row_unidad['equivalencia']) * -1);
- $almacen_det = sprintf("INSERT INTO `controlg_controlerp`.`almacen_det` (`ventas_id`, `producto_id`, `cantidad`, `activo`)
- VALUES ('%s', '%s', '%s', '1');",
- fn_filtro($ventas_id),
- fn_filtro($row_table['insumo_id']),
- fn_filtro($cantidad_receta)
- );
- if(!mysql_query($almacen_det, $fastERP))
- echo "Error al insertar:\n$almacen_det";
- /*BEGIN INVENTARY 2*/
- /*STOCK SALIDA*/
- $query_area_prod = "SELECT
- almacen.almacen_id
- FROM
- area_produccion ,
- almacen
- WHERE
- area_produccion.almacen_id = almacen.almacen_id AND
- area_produccion.area_produccion_id = $row_table[area_produccion_id]";
- $area_prod = mysql_query($query_area_prod, $fastERP) or die(mysql_error());
- $totalRows_area_prod = mysql_num_rows($area_prod);
- $row_area_prod = mysql_fetch_assoc($area_prod);
- $stock_out_det = sprintf("INSERT INTO `controlg_controlerp`.`stock_out_det` (`stock_out_id`, `insumo_id`, `almacen_id`, `unidad_id`, `cantidad`)
- VALUES ('%s', '%s', '%s', '%s', '%s');",
- fn_filtro($stock_in_id),
- fn_filtro($row_table['insumo_id']),
- fn_filtro($row_area_prod['almacen_id']),
- fn_filtro($row_table['unidad_id']),
- fn_filtro($cantidad_receta)
- );
- if(!mysql_query($stock_out_det, $fastERP))
- echo "Error al insertar:\n$stock_out_det";
- /*STOCK*/
- $query_buscar_insumo = "SELECT
- stock.stock_id,
- stock.stock,
- stock.insumo_id
- FROM
- stock ,
- insumo ,
- unidad
- WHERE
- stock.insumo_id = insumo.insumo_id AND
- insumo.unidad_id = unidad.unidad_id AND
- stock.insumo_id = $row_table[insumo_id] AND
- stock.almacen_id = $row_area_prod[almacen_id]";
- $buscar_insumo = mysql_query($query_buscar_insumo, $fastERP) or die(mysql_error());
- $totalRows_buscar_insumo = mysql_num_rows($buscar_insumo);
- $row_buscar_insumo = mysql_fetch_assoc($buscar_insumo);
- if ($totalRows_buscar_insumo <= 0 || $totalRows_buscar_insumo == "" || empty($totalRows_buscar_insumo)) {
- $query_agregar_insumo = "SELECT
- insumo.insumo_id,
- insumo.insumo,
- unidad.unidad_id
- FROM
- insumo ,
- unidad
- WHERE
- insumo.unidad_id = unidad.unidad_id AND
- insumo.insumo_id = $row_table[insumo_id]";
- $agregar_insumo = mysql_query($query_agregar_insumo, $fastERP) or die(mysql_error());
- $row_agregar_insumo = mysql_fetch_assoc($agregar_insumo);
- $stock = sprintf("INSERT INTO `controlg_controlerp`.`stock` (`insumo_id`, `almacen_id`, `unidad_id`, `insumo`, `stock`)
- VALUES ('%s', '%s', '%s', '%s');",
- fn_filtro($row_agregar_insumo['insumo_id']),
- fn_filtro($row_area_prod['almacen_id']),
- fn_filtro($row_agregar_insumo['unidad_id']),
- fn_filtro($row_agregar_insumo['insumo']),
- fn_filtro($cantidad_receta * -1)
- );
- if(!mysql_query($stock, $fastERP))
- echo "Error al insertar:\n$stock";
- } else {
- $stock_cantidad = $row_buscar_insumo['stock'] + $cantidad_receta;
- $query_stock = sprintf("UPDATE `controlg_controlerp`.`stock`
- SET stock = '%s'
- WHERE insumo_id = %d
- AND stock_id = %d;",
- fn_filtro($stock_cantidad),
- fn_filtro((int)$row_buscar_insumo['insumo_id']),
- fn_filtro((int)$row_buscar_insumo['stock_id'])
- );
- $stock = mysql_query($query_stock, $fastERP) or die(mysql_error());
- }
- /*END INVENTARY 2*/
- } while ( $row_table = mysql_fetch_assoc($table) );
- ?>