Files
ventas_php/classes/evaluaPedido.class.php

364 lines
11 KiB
PHP
Executable File

<?php
class EvaluaPedido extends Main
{
private $pedidoId;
private $pedidoPagoId;
private $metodoPagoId;
private $cuentaBancariaId;
private $proveedorId;
private $cantidad;
private $fecha;
private $noCheque;
private $noFactura;
private $status;
private $plazo;
private $bonificacion;
private $prodItemId;
private $productoId;
public function setProductoId($value)
{
$this->Util()->ValidateInteger($value);
$this->productoId = $value;
}
public function setBonificacion($value)
{
$this->Util()->ValidateInteger($value);
$this->bonificacion = $value;
}
public function setPlazo($value)
{
$this->Util()->ValidateInteger($value);
$this->plazo = $value;
}
public function setPedidoPagoId($value)
{
$this->Util()->ValidateInteger($value);
$this->pedidoPagoId = $value;
}
public function setPedidoId($value)
{
$this->Util()->ValidateInteger($value);
$this->pedidoId = $value;
}
public function setProdItemId($value)
{
$this->Util()->ValidateInteger($value);
$this->prodItemId = $value;
}
public function setMetodoPagoId($value)
{
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'M&eacute;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 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;
}
function Enumerate()
{
$sql = "SELECT * FROM pedido LEFT JOIN proveedor ON(proveedor.proveedorId = pedido.proveedorId) WHERE pedido.`status` LIKE 'EnvSuc' OR pedido.`status` LIKE 'OrdenCompIng'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/evaluar-pedidos");
//$sqlAdd = "LIMIT ".$pages["start"].", ".$pages["items_per_page"];
$sql = "SELECT * FROM pedido LEFT JOIN proveedor ON(proveedor.proveedorId = pedido.proveedorId) WHERE pedido.`status` LIKE 'EnvSuc' OR pedido.`status` LIKE 'OrdenCompIng' ORDER BY `pedido`.`proveedorId`, pedido.fechaOrdenCompIng ASC ";
$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 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 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;
}
public function getTotalVentas()
{
$sql = 'SELECT SUM(producto.precioVentaIva) FROM producto LEFT JOIN inventario ON(inventario.productoId = producto.productoId) WHERE inventario.status LIKE "Vendido" AND pedidoId = "'.$this->pedidoId.'" GROUP BY pedidoId';
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
return $total;
}
/* public function getTotalVendidos2()
{
$sql = 'SELECT COUNT(*) FROM pedido LEFT JOIN inventario ON(inventario.pedidoId = pedido.pedidoId) LEFT JOIN producto ON(producto.productoId = inventario.productoId) WHERE pedido.pedidoId = 2 AND inventario.status = "Vendido" AND pedido.pedidoId = "'.$this->pedidoId.'"';
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
return $total;
}
public function getTotalProductos()
{
$sql = 'SELECT COUNT(*) FROM pedido LEFT JOIN inventario ON(inventario.pedidoId = pedido.pedidoId) LEFT JOIN producto ON(producto.productoId = inventario.productoId) WHERE pedido.pedidoId = 2 AND pedido.pedidoId = "'.$this->pedidoId.'"';
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
return $total;
}*/
public function evaluar()
{
$opc = false;
$diasTranscurridos = round($this->Util()->GetDiffDates($this->fecha,$this->Util()->Today()));
//echo $diasTranscurridos."<br>";
if(($diasTranscurridos >= ($this->plazo/2) && $diasTranscurridos < ($this->plazo)))
$opc = true;
return $opc;
}
public function evaluar2()
{
$opc = false;
$diasTranscurridos = round($this->Util()->GetDiffDates($this->fecha,$this->Util()->Today()));
//echo $diasTranscurridos."<br>";
if($diasTranscurridos >= $this->plazo)
$opc = true;
return $opc;
}
public function evaluarVentas()
{
@$porcentajeVendidos = round(($this->getTotalVendidos()*100)/$this->GetTotalProductosPedido());
return $porcentajeVendidos;
}
function searchProductos()
{
$sql = 'SELECT * FROM producto LEFT JOIN pedidoProducto ON(pedidoProducto.productoId = producto.productoId) LEFT JOIN pedido ON(pedido.pedidoId = pedidoProducto.pedidoId) WHERE pedido.pedidoId = '.$this->pedidoId;
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$productos = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
return $productos;
}
function GetTotalVendidos()
{
$totalVendidos = $this->GetTotalProductosPedido()-$this->GetDisponible();
return $totalVendidos;
}
function GetTotalProductosPedido()
{
$sql = "SELECT
SUM(cantidad)
FROM
inventario
WHERE
pedidoId = '".$this->pedidoId."'
AND
productoId = '".$this->productoId."'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
return $total;
}
function GetDisponible(){
$sql = "SELECT
SUM(cantidad)
FROM
inventario
WHERE
pedidoId = '".$this->pedidoId."'
AND
productoId = '".$this->productoId."'
AND
`status` = 'Disponible'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
return $total;
}
function InfoPedidoProveedor()
{
$sql = "SELECT * FROM pedido LEFT JOIN proveedor ON(proveedor.proveedorId = pedido.proveedorId) WHERE pedido.pedidoId = ".$this->pedidoId." ORDER BY `pedido`.`proveedorId`, pedido.fechaEntrega ASC ";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$result = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
return $result;
}
function searchProductoById()
{
$sql = 'SELECT * FROM producto LEFT JOIN pedidoProducto ON(pedidoProducto.productoId = producto.productoId) LEFT JOIN pedido ON(pedido.pedidoId = pedidoProducto.pedidoId) LEFT JOIN productoItem ON(productoItem.productoId = producto.productoId) WHERE pedido.pedidoId = '.$this->pedidoId.' AND prodItemId = '.$this->prodItemId;
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$producto = $this->Util()->DBSelect($_SESSION['empresaId'])->GetRow();
return $producto;
}
function ActualizaPendientes()
{
$sql = 'DELETE FROM bonificacion WHERE estatus LIKE "Pendiente"';
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$producto = $this->Util()->DBSelect($_SESSION['empresaId'])->DeleteData();
}
function GetPedidos()
{
$sql = "SELECT bonificacion.pedidoId, proveedor.nombre, bonificacion.proveedorId, bonificacion.estatus FROM bonificacion LEFT JOIN proveedor ON(proveedor.proveedorId = bonificacion.proveedorId) GROUP BY pedidoId ORDER BY pedidoId";
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$pedidos = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
return $pedidos;
}
function getTotalBonificaciones()
{
$sql = "SELECT SUM(totalBonificacion) FROM bonificacion WHERE pedidoId = '".$this->pedidoId."' AND tipo LIKE 'Bonificacion'";
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
return $total;
}
function getTotalDevoluciones()
{
$sql = "SELECT SUM(totalBonificacion) FROM bonificacion WHERE pedidoId = '".$this->pedidoId."' AND tipo LIKE 'Devolucion'";
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
return $total;
}
}
?>