15. srv / bd / ventaEnCapturaProcesa.php

1<?php
2
3require_once __DIR__ . "/../modelo/Venta.php";
4require_once __DIR__ . "/Bd.php";
5require_once __DIR__ . "/ventaEnCapturaBusca.php";
6require_once __DIR__ . "/ventaAgrega.php";
7
8function ventaEnCapturaProcesa()
9{
10 $con = Bd::getConexion();
11 $con->beginTransaction();
12 $modelo = ventaEnCapturaBusca();
13 if ($modelo === false)
14 throw new Exception("Venta no encontrada.");
15 $modelo->valida();
16 $detalles = $modelo->detalles;
17 $stmt = $con->prepare(
18 "UPDATE PRODUCTO
19 SET PROD_EXISTENCIAS = :existencias
20 WHERE PROD_ID = :prodId"
21 );
22 foreach ($detalles as $dtv) {
23 $producto = $dtv->producto;
24 $stmt->execute(([
25 ":prodId" => $producto->id,
26 ":existencias" => $producto->existencias - $dtv->cantidad
27 ]));
28 }
29 $stmt = $con->prepare(
30 "UPDATE VENTA
31 SET VENT_EN_CAPTURA = 0
32 WHERE VENT_ID = :id"
33 );
34 $stmt->execute([":id" => $modelo->id]);
35 ventaAgrega(new Venta(enCaptura: true));
36 $con->commit();
37}
38
skip_previous skip_next