G. api / venta-en-captura-procesa.php

1
<?php
2
3
require_once __DIR__ . "/../libservidorphp/manejaErrores.php";
4
require_once __DIR__ . "/../libservidorphp/devuelveCreated.php";
5
require_once __DIR__ . "/../libservidorphp/validaEntidadObligatoria.php";
6
require_once __DIR__ . "/Bd.php";
7
require_once __DIR__ . "/ventaEnCapturaBusca.php";
8
require_once __DIR__ . "/detVentaConsulta.php";
9
require_once __DIR__ . "/ventaEnCapturaAgrega.php";
10
11
$bd = Bd::conexion();
12
$bd->beginTransaction();
13
14
$venta = ventaEnCapturaBusca($bd);
15
$venta = validaEntidadObligatoria("Venta en captura",  $venta);
16
17
$detalles = detVentaConsulta($bd, $venta["VNT_ID"]);
18
19
// Actualiza las existencias de los productos vendidos.
20
$update = $bd->prepare(
21
 "UPDATE PRODUCTO
22
   SET PRD_EXISTENCIAS = :PRD_EXISTENCIAS
23
   WHERE PRD_ID = :PRD_ID"
24
);
25
foreach ($detalles as $detVenta) {
26
 $update->execute([
27
  ":PRD_ID" => $detVenta["DTV_PRD_ID"],
28
  ":PRD_EXISTENCIAS" =>
29
  $detVenta["PRD_EXISTENCIAS"] - $detVenta["DTV_CANTIDAD"]
30
 ]);
31
}
32
33
$update = $bd->prepare(
34
 "UPDATE VENTA
35
   SET VNT_EN_CAPTURA = 0
36
   WHERE VNT_ID = :VNT_ID"
37
);
38
$update->execute([":VNT_ID" => $venta["VNT_ID"]]);
39
40
ventaEnCapturaAgrega($bd);
41
$folio = $bd->lastInsertId();
42
43
$bd->commit();
44
45
devuelveCreated("/srv/venta-en-captura.php", [
46
 "folio" => ["value" => $folio],
47
 "detalles" => ["innerHTML" => ""]
48
]);
49
skip_previous skip_next