Skip to content

Commit

Permalink
Edit sales - Pt3
Browse files Browse the repository at this point in the history
  • Loading branch information
Kev1nByte committed Jul 18, 2023
1 parent ac8ffe5 commit 6e96a47
Show file tree
Hide file tree
Showing 3 changed files with 203 additions and 10 deletions.
163 changes: 163 additions & 0 deletions controllers/ventas.controlador.php
Expand Up @@ -111,6 +111,169 @@ static public function ctrCrearVenta(){

}

// EDITAR VENTA

static public function ctrEditarVenta(){

if(isset($_POST["editarVenta"])){

// FORMATEAR TABLA DE PRODUCTOS Y LA DE CLIENTES

$tabla = "ventas";

$item = "codigo";
$valor = $_POST["editarVenta"];

$traerVenta = ModeloVentas::mdlMostrarVentas($tabla, $item, $valor);

// REVISAR SI VIENE PRODUCTOS EDITADOS

if($_POST["listaProductos"] == ""){

$listaProductos = $traerVenta["productos"];
$cambioProducto = false;


}else{

$listaProductos = $_POST["listaProductos"];
$cambioProducto = true;
}

if($cambioProducto){

$productos = json_decode($traerVenta["productos"], true);

$totalProductosComprados = array();

foreach ($productos as $key => $value) {

array_push($totalProductosComprados, $value["cantidad"]);

$tablaProductos = "productos";

$item = "id";
$valor = $value["id"];

$traerProducto = ModeloProductos::mdlMostrarProductos($tablaProductos, $item, $valor);

$item1a = "ventas";
$valor1a = $traerProducto["ventas"] - $value["cantidad"];

$nuevasVentas = ModeloProductos::mdlActualizarProducto($tablaProductos, $item1a, $valor1a, $valor);

$item1b = "stock";
$valor1b = $value["cantidad"] + $traerProducto["stock"];

$nuevoStock = ModeloProductos::mdlActualizarProducto($tablaProductos, $item1b, $valor1b, $valor);

}

$tablaClientes = "clientes";

$itemCliente = "id";
$valorCliente = $_POST["seleccionarCliente"];

$traerCliente = ModeloClientes::mdlMostrarClientes($tablaClientes, $itemCliente, $valorCliente);

$item1a = "compras";
$valor1a = $traerCliente["compras"] - array_sum($totalProductosComprados);

$comprasCliente = ModeloClientes::mdlActualizarCliente($tablaClientes, $item1a, $valor1a, $valor);

// ACTUALIZAR LAS COMPRAS DEL CLIENTE Y REDUCIR EL STOCK Y AUMENTAR LAS VENTAS DE LOS PRODUCTOS

$listaProductos_2 = json_decode($listaProductos, true);

$totalProductosComprados_2 = array();

foreach ($listaProductos_2 as $key => $value) {

array_push($totalProductosComprados_2, $value["cantidad"]);

$tablaProductos_2 = "productos";

$item_2 = "id";
$valor_2 = $value["id"];

$traerProducto_2 = ModeloProductos::mdlMostrarProductos($tablaProductos_2, $item_2, $valor_2);

$item1a_2 = "ventas";
$valor1a_2 = $value["cantidad"] + $traerProducto_2["ventas"];

$nuevasVentas_2 = ModeloProductos::mdlActualizarProducto($tablaProductos_2, $item1a_2, $valor1a_2, $valor_2);

$item1b_2 = "stock";
$valor1b_2 = $value["stock"];

$nuevoStock_2 = ModeloProductos::mdlActualizarProducto($tablaProductos_2, $item1b_2, $valor1b_2, $valor_2);

}

$tablaClientes_2 = "clientes";

$item_2 = "id";
$valor_2 = $_POST["seleccionarCliente"];

$traerCliente_2 = ModeloClientes::mdlMostrarClientes($tablaClientes_2, $item_2, $valor_2);

$item1a_2 = "compras";
$valor1a_2 = array_sum($totalProductosComprados_2) + $traerCliente_2["compras"];

$comprasCliente_2 = ModeloClientes::mdlActualizarCliente($tablaClientes_2, $item1a_2, $valor1a_2, $valor_2);

$item1b_2 = "ultima_compra";

date_default_timezone_set('America/Lima');

$fecha = date('Y-m-d');
$hora = date('H:i:s');
$valor1b_2 = $fecha.' '.$hora;

$fechaCliente_2 = ModeloClientes::mdlActualizarCliente($tablaClientes_2, $item1b_2, $valor1b_2, $valor_2);

}

// GUARDAR CAMBIOS DE LA COMPRA

$datos = array("id_vendedor"=>$_POST["idVendedor"],
"id_cliente"=>$_POST["seleccionarCliente"],
"codigo"=>$_POST["editarVenta"],
"productos"=>$listaProductos,
"impuesto"=>$_POST["nuevoPrecioImpuesto"],
"neto"=>$_POST["nuevoPrecioNeto"],
"total"=>$_POST["totalVenta"],
"metodo_pago"=>$_POST["listaMetodoPago"]);


$respuesta = ModeloVentas::mdlEditarVenta($tabla, $datos);

if($respuesta == "ok"){

echo'<script>
localStorage.removeItem("rango");
swal({
type: "success",
title: "La venta ha sido editada correctamente",
showConfirmButton: true,
confirmButtonText: "Cerrar"
}).then((result) => {
if (result.value) {
window.location = "ventas";
}
})
</script>';

}

}

}
}

?>
30 changes: 30 additions & 0 deletions models/ventas.modelos.php
Expand Up @@ -65,6 +65,36 @@ static public function mdlIngresarVenta($tabla, $datos){

}

// EDITAR VENTA

static public function mdlEditarVenta($tabla, $datos){

$stmt = Conexion::conectar()->prepare("UPDATE $tabla SET id_cliente = :id_cliente, id_vendedor = :id_vendedor, productos = :productos, impuesto = :impuesto, neto = :neto, total= :total, metodo_pago = :metodo_pago WHERE codigo = :codigo");

$stmt->bindParam(":codigo", $datos["codigo"], PDO::PARAM_INT);
$stmt->bindParam(":id_cliente", $datos["id_cliente"], PDO::PARAM_INT);
$stmt->bindParam(":id_vendedor", $datos["id_vendedor"], PDO::PARAM_INT);
$stmt->bindParam(":productos", $datos["productos"], PDO::PARAM_STR);
$stmt->bindParam(":impuesto", $datos["impuesto"], PDO::PARAM_STR);
$stmt->bindParam(":neto", $datos["neto"], PDO::PARAM_STR);
$stmt->bindParam(":total", $datos["total"], PDO::PARAM_STR);
$stmt->bindParam(":metodo_pago", $datos["metodo_pago"], PDO::PARAM_STR);

if($stmt->execute()){

return "ok";

}else{

return "error";

}

$stmt->close();
$stmt = null;

}

}

?>
20 changes: 10 additions & 10 deletions views/modulos/editar-venta.php
Expand Up @@ -37,22 +37,22 @@

<?php

$item = "id";
$valor = $_GET["idVenta"];
$item = "id";
$valor = $_GET["idVenta"];

$venta = ControladorVentas::ctrMostrarVentas($item, $valor);
$venta = ControladorVentas::ctrMostrarVentas($item, $valor);

$itemUsuario = "id";
$valorUsuario = $venta["id_vendedor"];
$itemUsuario = "id";
$valorUsuario = $venta["id_vendedor"];

$vendedor = ControladorUsuarios::ctrMostrarUsuarios($itemUsuario, $valorUsuario);
$vendedor = ControladorUsuarios::ctrMostrarUsuarios($itemUsuario, $valorUsuario);

$itemCliente = "id";
$valorCliente = $venta["id_cliente"];
$itemCliente = "id";
$valorCliente = $venta["id_cliente"];

$cliente = ControladorClientes::ctrMostrarClientes($itemCliente, $valorCliente);
$cliente = ControladorClientes::ctrMostrarClientes($itemCliente, $valorCliente);

$porcentajeImpuesto = $venta["impuesto"] * 100 / $venta["neto"];
$porcentajeImpuesto = $venta["impuesto"] * 100 / $venta["neto"];

?>

Expand Down

0 comments on commit 6e96a47

Please sign in to comment.