1 | <?php |
2 | |
3 | require_once __DIR__ . "/../modelo/Venta.php"; |
4 | require_once __DIR__ . "/Bd.php"; |
5 | require_once __DIR__ . "/ventaEnCapturaBusca.php"; |
6 | require_once __DIR__ . "/ventaAgrega.php"; |
7 | |
8 | function 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 | |