459 lines
11 KiB
PHP
Executable File
459 lines
11 KiB
PHP
Executable File
<?php
|
|
|
|
class CuentaPagar extends Main
|
|
{
|
|
private $pedidoId;
|
|
private $pedidoPagoId;
|
|
private $pedidoNotaId;
|
|
private $provPagoId;
|
|
private $metodoPagoId;
|
|
private $cuentaBancariaId;
|
|
private $proveedorId;
|
|
private $cantidad;
|
|
private $fecha;
|
|
private $noCheque;
|
|
private $noFactura;
|
|
private $noNota;
|
|
private $status;
|
|
|
|
public function setPedidoId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->pedidoId = $value;
|
|
}
|
|
|
|
public function setPedidoPagoId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->pedidoPagoId = $value;
|
|
}
|
|
|
|
public function setPedidoNotaId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->pedidoNotaId = $value;
|
|
}
|
|
|
|
public function setProvPagoId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->provPagoId = $value;
|
|
}
|
|
|
|
public function setMetodoPagoId($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Método de Pago');
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->metodoPagoId = $value;
|
|
}
|
|
|
|
public function setCuentaBancariaId($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Cuenta Bancaria');
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->cuentaBancariaId = $value;
|
|
}
|
|
|
|
public function setProveedorId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->proveedorId = $value;
|
|
}
|
|
|
|
public function setCantidad($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Cantidad');
|
|
$this->cantidad = $value;
|
|
}
|
|
|
|
public function setFecha($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Fecha');
|
|
$this->fecha = $value;
|
|
}
|
|
|
|
public function setNoCheque($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 0, 'No. de Cheque');
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->noCheque = $value;
|
|
}
|
|
|
|
public function setNoFactura($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'No. de Factura');
|
|
$this->noFactura = $value;
|
|
}
|
|
|
|
public function setNoNota($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'No. Nota de Crédito');
|
|
$this->noNota = $value;
|
|
}
|
|
|
|
public function setStatus($value)
|
|
{
|
|
$this->status = $value;
|
|
}
|
|
|
|
public function InfoPago(){
|
|
|
|
$sql = 'SELECT * FROM pedidoPago
|
|
WHERE pedidoPagoId = "'.$this->pedidoPagoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$info = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
|
|
|
|
return $info;
|
|
}
|
|
|
|
public function InfoPagoProv(){
|
|
|
|
$sql = 'SELECT * FROM proveedorPago
|
|
WHERE provPagoId = "'.$this->provPagoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$info = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
|
|
|
|
return $info;
|
|
}
|
|
|
|
function Enumerate()
|
|
{
|
|
$sql = "SELECT COUNT(*) FROM pedido
|
|
WHERE (status = 'OrdenCompIng'
|
|
OR status = 'EnvSuc')
|
|
AND ajuste = '0'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/cuentas-pagar");
|
|
|
|
$sqlAdd = "LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = "SELECT * FROM pedido
|
|
WHERE (status = 'OrdenCompIng'
|
|
OR status = 'EnvSuc')
|
|
AND ajuste = '0'
|
|
ORDER BY fecha ASC ".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $result;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function EnumPagos(){
|
|
|
|
$sql = 'SELECT * FROM pedidoPago
|
|
WHERE pedidoId = "'.$this->pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$pagos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $pagos;
|
|
}
|
|
|
|
function EnumPagosProv(){
|
|
|
|
$sql = 'SELECT * FROM proveedorPago
|
|
WHERE proveedorId = "'.$this->proveedorId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$pagos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $pagos;
|
|
}
|
|
|
|
function GetTotalPagos(){
|
|
|
|
$sql = 'SELECT SUM(cantidad) FROM pedidoPago
|
|
WHERE pedidoId = "'.$this->pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetTotalPagosProv(){
|
|
|
|
$sql = 'SELECT SUM(cantidad) FROM proveedorPago
|
|
WHERE proveedorId = "'.$this->proveedorId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetTotalPagosByProveedor(){
|
|
|
|
$sql = 'SELECT SUM(cantidad) FROM pedidoPago
|
|
WHERE proveedorId = "'.$this->proveedorId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetTotalByProveedor(){
|
|
|
|
$sql = 'SELECT SUM(total) FROM pedido
|
|
WHERE (status = "OrdenCompIng"
|
|
OR status = "EnvSuc")
|
|
AND ajuste = "0"
|
|
AND proveedorId = "'.$this->proveedorId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetTotalBonifByProv()
|
|
{
|
|
$sql = 'SELECT SUM(totalBonificacion)
|
|
FROM pedidoBonifDevolucion AS b, pedido AS p
|
|
WHERE p.pedidoId = b.pedidoId
|
|
AND (p.status = "OrdenCompIng"
|
|
OR p.status = "EnvSuc")
|
|
AND p.ajuste = "0"
|
|
AND p.proveedorId = '.$this->proveedorId;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetTotalDevByProv()
|
|
{
|
|
$sql = 'SELECT SUM(totalDevolucion)
|
|
FROM pedidoBonifDevolucion AS d, pedido AS p
|
|
WHERE p.pedidoId = d.pedidoId
|
|
AND (p.status = "OrdenCompIng"
|
|
OR p.status = "EnvSuc")
|
|
AND p.ajuste = "0"
|
|
AND p.proveedorId = '.$this->proveedorId;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function SavePago()
|
|
{
|
|
if($this->Util()->PrintErrors()){ return false; }
|
|
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery("
|
|
INSERT INTO `pedidoPago` (
|
|
pedidoId,
|
|
metodoPagoId,
|
|
cuentaBancariaId,
|
|
proveedorId,
|
|
cantidad,
|
|
fecha,
|
|
noCheque,
|
|
noFactura
|
|
)
|
|
VALUES (
|
|
'".$this->pedidoId."',
|
|
'".$this->metodoPagoId."',
|
|
'".$this->cuentaBancariaId."',
|
|
'".$this->proveedorId."',
|
|
'".$this->cantidad."',
|
|
'".$this->fecha."',
|
|
'".$this->noCheque."',
|
|
'".$this->noFactura."'
|
|
)"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->InsertData();
|
|
|
|
$this->Util()->setError(30057, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function DeletePago(){
|
|
|
|
$sql = "DELETE FROM
|
|
pedidoPago
|
|
WHERE
|
|
pedidoPagoId = '".$this->pedidoPagoId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$this->Util()->setError(30059, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function SavePagoProv()
|
|
{
|
|
if($this->Util()->PrintErrors()){ return false; }
|
|
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery("
|
|
INSERT INTO `proveedorPago` (
|
|
proveedorId,
|
|
metodoPagoId,
|
|
cantidad,
|
|
fecha,
|
|
noCheque,
|
|
noFactura
|
|
)
|
|
VALUES (
|
|
'".$this->proveedorId."',
|
|
'".$this->metodoPagoId."',
|
|
'".$this->cantidad."',
|
|
'".$this->fecha."',
|
|
'".$this->noCheque."',
|
|
'".$this->noFactura."'
|
|
)"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->InsertData();
|
|
|
|
$this->Util()->setError(30057, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function DeletePagoProv(){
|
|
|
|
$sql = "DELETE FROM
|
|
proveedorPago
|
|
WHERE
|
|
provPagoId = '".$this->provPagoId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$this->Util()->setError(30059, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function EnumerateById()
|
|
{
|
|
$sql = "SELECT * FROM pedido
|
|
WHERE (status = 'OrdenCompIng'
|
|
OR status = 'EnvSuc') AND
|
|
pedidoId = '".$this->pedidoId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
|
|
|
|
return $result;
|
|
}
|
|
|
|
function Search(){
|
|
|
|
if($this->proveedorId)
|
|
$sqlFilter = ' AND proveedorId = "'.$this->proveedorId.'"';
|
|
|
|
$sql = "SELECT * FROM pedido
|
|
WHERE (status = 'OrdenCompIng'
|
|
OR status = 'EnvSuc')
|
|
AND ajuste = '0'
|
|
AND folioProv NOT REGEXP '^FOLIO'
|
|
".$sqlFilter."
|
|
ORDER BY fecha ASC ".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $result;
|
|
}
|
|
|
|
function EnumProveedores()
|
|
{
|
|
if($this->proveedorId)
|
|
$sqlFilter = ' AND proveedorId = "'.$this->proveedorId.'"';
|
|
|
|
$sql = "SELECT * FROM pedido
|
|
WHERE (status = 'OrdenCompIng'
|
|
OR status = 'EnvSuc')
|
|
AND ajuste = '0'
|
|
AND folioProv NOT REGEXP '^FOLIO'
|
|
".$sqlFilter."
|
|
GROUP BY proveedorId";
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$proveedores = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
return $proveedores;
|
|
}
|
|
|
|
//NOTAS CREDITO
|
|
|
|
function SaveNota()
|
|
{
|
|
if($this->Util()->PrintErrors()){ return false; }
|
|
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery("
|
|
INSERT INTO `pedidoNota` (
|
|
pedidoId,
|
|
proveedorId,
|
|
cantidad,
|
|
fecha,
|
|
noNota
|
|
)
|
|
VALUES (
|
|
'".$this->pedidoId."',
|
|
'".$this->proveedorId."',
|
|
'".$this->cantidad."',
|
|
'".$this->fecha."',
|
|
'".$this->noNota."'
|
|
)"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->InsertData();
|
|
|
|
$this->Util()->setError(20122, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function DeleteNota(){
|
|
|
|
$sql = "DELETE FROM
|
|
pedidoNota
|
|
WHERE
|
|
pedidoNotaId = '".$this->pedidoNotaId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$this->Util()->setError(20123, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
function GetTotalNotas(){
|
|
|
|
$sql = 'SELECT SUM(cantidad) FROM pedidoNota
|
|
WHERE pedidoId = "'.$this->pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function EnumNotas(){
|
|
|
|
$sql = 'SELECT * FROM pedidoNota
|
|
WHERE pedidoId = "'.$this->pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$pagos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $pagos;
|
|
}
|
|
|
|
public function InfoNota(){
|
|
|
|
$sql = 'SELECT * FROM pedidoNota
|
|
WHERE pedidoNotaId = "'.$this->pedidoNotaId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$info = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
|
|
|
|
return $info;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|