1489 lines
36 KiB
PHP
Executable File
1489 lines
36 KiB
PHP
Executable File
<?php
|
|
|
|
class Envio extends Main
|
|
{
|
|
private $envioId;
|
|
private $sucOrigen;
|
|
private $sucursalId;
|
|
private $sucursalId2;
|
|
private $pedidoId;
|
|
private $noCajas;
|
|
private $usuarioId;
|
|
private $tipo;
|
|
private $fecha;
|
|
private $status;
|
|
|
|
private $prodItemId;
|
|
private $productoId;
|
|
private $noLotes;
|
|
private $prendas;
|
|
private $completo;
|
|
private $faltantes;
|
|
private $cantidad;
|
|
private $total;
|
|
|
|
private $motivoId;
|
|
private $otroMotivo;
|
|
private $noPedido;
|
|
|
|
private $envProdId;
|
|
private $fechaIni;
|
|
private $fechaFin;
|
|
|
|
private $envRepProdId;
|
|
|
|
public function setEnvioId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->envioId = $value;
|
|
}
|
|
|
|
public function setSucOrigen($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->sucOrigen = $value;
|
|
}
|
|
|
|
public function setSucursalId($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Sucursal');
|
|
$this->sucursalId = $value;
|
|
}
|
|
|
|
public function setSucursalId2($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Sucursal');
|
|
$this->sucursalId2 = $value;
|
|
}
|
|
|
|
public function setPedidoId($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Pedido');
|
|
$this->pedidoId = $value;
|
|
}
|
|
|
|
public function setUsuarioId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->usuarioId = $value;
|
|
}
|
|
|
|
public function setTipo($value)
|
|
{
|
|
$this->tipo = $value;
|
|
}
|
|
|
|
public function setFecha($value)
|
|
{
|
|
$this->fecha = $value;
|
|
}
|
|
|
|
public function setNoCajas($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'No. de Cajas');
|
|
$this->noCajas = $value;
|
|
}
|
|
|
|
public function setStatus($value)
|
|
{
|
|
$this->status = $value;
|
|
}
|
|
|
|
public function setProdItemId($value)
|
|
{
|
|
$this->prodItemId = $value;
|
|
}
|
|
|
|
public function setProductoId($value)
|
|
{
|
|
$this->productoId = $value;
|
|
}
|
|
|
|
public function setNoLotes($value)
|
|
{
|
|
$this->noLotes = $value;
|
|
}
|
|
|
|
public function setPrendas($value)
|
|
{
|
|
$this->prendas = $value;
|
|
}
|
|
|
|
public function setCompleto($value)
|
|
{
|
|
$this->completo = $value;
|
|
}
|
|
|
|
public function setFaltantes($value)
|
|
{
|
|
$this->faltantes = $value;
|
|
}
|
|
|
|
public function setCantidad($value)
|
|
{
|
|
$this->cantidad = $value;
|
|
}
|
|
|
|
public function setTotal($value)
|
|
{
|
|
$this->total = $value;
|
|
}
|
|
|
|
public function setMotivoId($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Motivo');
|
|
$this->motivoId = $value;
|
|
}
|
|
|
|
public function setOtroMotivo($value)
|
|
{
|
|
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Otro Motivo');
|
|
$this->otroMotivo = $value;
|
|
}
|
|
|
|
public function setEnvProdId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->envProdId = $value;
|
|
}
|
|
|
|
public function setNoPedido($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->noPedido = $value;
|
|
}
|
|
|
|
public function setFechaIni($value)
|
|
{
|
|
$this->fechaIni = $value;
|
|
}
|
|
|
|
public function setFechaFin($value)
|
|
{
|
|
$this->fechaFin = $value;
|
|
}
|
|
|
|
public function setEnvRepProdId($value)
|
|
{
|
|
$this->Util()->ValidateInteger($value);
|
|
$this->envRepProdId = $value;
|
|
}
|
|
|
|
function Info(){
|
|
|
|
$sql = "SELECT
|
|
*
|
|
FROM
|
|
envio
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$row = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
|
|
|
|
return $row;
|
|
}
|
|
|
|
function EnumBySuc()
|
|
{
|
|
$sql = "SELECT e.* FROM envio AS e, envioPedido AS ep, pedido AS p
|
|
WHERE ep.envioId = e.envioId
|
|
AND ep.pedidoId = p.pedidoId
|
|
AND p.ajuste = '0'
|
|
AND sucursalId = '".$this->sucursalId."'
|
|
AND e.tipo = '".$this->tipo."'
|
|
GROUP BY e.envioId";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
$total = count($result);
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = "SELECT e.* FROM envio AS e, envioPedido AS ep, pedido AS p
|
|
WHERE ep.envioId = e.envioId
|
|
AND ep.pedidoId = p.pedidoId
|
|
AND p.ajuste = '0'
|
|
AND e.tipo = '".$this->tipo."'
|
|
AND sucursalId = '".$this->sucursalId."'
|
|
GROUP BY e.envioId
|
|
ORDER BY e.fecha DESC".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $envios;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function EnumBySucT()
|
|
{
|
|
$sql = 'SELECT COUNT(*) FROM envio
|
|
WHERE (sucOrigen = "'.$this->sucursalId.'"
|
|
OR sucursalId = "'.$this->sucursalId.'")
|
|
AND tipo = "TT"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios-tienda");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = 'SELECT * FROM envio
|
|
WHERE (sucOrigen = "'.$this->sucursalId.'"
|
|
OR sucursalId = "'.$this->sucursalId.'")
|
|
AND tipo = "TT"
|
|
ORDER BY fecha DESC'.$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $envios;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function EnumerateD()
|
|
{
|
|
$sql = "SELECT COUNT(*) FROM envioDevolucion";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios-tienda-cedis");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = "SELECT * FROM envioDevolucion ORDER BY fecha DESC".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $envios;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function EnumBySucD()
|
|
{
|
|
$sql = 'SELECT COUNT(*) FROM envioDevolucion WHERE sucursalId = "'.$this->sucursalId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = 'SELECT * FROM envioDevolucion WHERE sucursalId = "'.$this->sucursalId.'" ORDER BY fecha DESC'.$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $envios;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function Enumerate()
|
|
{
|
|
$sql = "SELECT e.* FROM envio AS e, envioPedido AS ep, pedido AS p
|
|
WHERE ep.envioId = e.envioId
|
|
AND ep.pedidoId = p.pedidoId
|
|
AND p.ajuste = '0'
|
|
AND e.tipo = '".$this->tipo."'
|
|
GROUP BY e.envioId";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
$total = count($result);
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = "SELECT e.* FROM envio AS e, envioPedido AS ep, pedido AS p
|
|
WHERE ep.envioId = e.envioId
|
|
AND ep.pedidoId = p.pedidoId
|
|
AND p.ajuste = '0'
|
|
AND e.tipo = '".$this->tipo."'
|
|
GROUP BY e.envioId
|
|
ORDER BY e.fecha DESC".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $envios;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function Search()
|
|
{
|
|
$sqlAdd = '';
|
|
|
|
if($this->sucursalId)
|
|
$sqlAdd .= ' AND e.sucursalId = "'.$this->sucursalId.'"';
|
|
|
|
if($this->status)
|
|
$sqlAdd .= ' AND e.status = "'.$this->status.'"';
|
|
|
|
if($this->noPedido)
|
|
$sqlAdd .= ' AND p.noPedido = "'.$this->noPedido.'"';
|
|
|
|
if($this->fecha)
|
|
$sqlAdd .= ' AND DATE(e.fecha) = "'.$this->fecha.'"';
|
|
|
|
$sql = 'SELECT e.* FROM envio AS e, envioPedido AS ep, pedido AS p
|
|
WHERE e.tipo = "CT"
|
|
AND e.envioId = ep.envioId
|
|
AND ep.pedidoId = p.pedidoId
|
|
AND p.ajuste = "0"
|
|
'.$sqlAdd.'
|
|
GROUP BY e.envioId
|
|
ORDER BY e.fecha DESC';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $envios;
|
|
}
|
|
|
|
function EnumerateT()
|
|
{
|
|
$sql = "SELECT COUNT(*) FROM envio
|
|
WHERE tipo = 'TT'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios-tienda");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = "SELECT * FROM envio
|
|
WHERE tipo = 'TT'
|
|
ORDER BY fecha DESC".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $envios;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function SearchT()
|
|
{
|
|
$sqlAdd = '';
|
|
|
|
if($this->sucOrigen)
|
|
$sqlAdd .= ' AND sucOrigen = "'.$this->sucOrigen.'"';
|
|
|
|
if($this->sucursalId)
|
|
$sqlAdd .= ' AND sucursalId = "'.$this->sucursalId.'"';
|
|
|
|
if($this->status)
|
|
$sqlAdd .= ' AND status = "'.$this->status.'"';
|
|
|
|
if($this->fecha)
|
|
$sqlAdd .= ' AND DATE(fecha) = "'.$this->fecha.'"';
|
|
|
|
$sql = 'SELECT * FROM envio
|
|
WHERE tipo = "TT"
|
|
'.$sqlAdd.'
|
|
ORDER BY fecha DESC';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $envios;
|
|
}
|
|
|
|
function SaveTemp(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function Save(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$sql = "INSERT INTO `envio`
|
|
(
|
|
sucOrigen,
|
|
sucursalId,
|
|
fecha,
|
|
usuarioId,
|
|
tipo,
|
|
status
|
|
)
|
|
VALUES (
|
|
'".$this->sucOrigen."',
|
|
'".$this->sucursalId."',
|
|
'".date('Y-m-d H:i:s')."',
|
|
'".$this->usuarioId."',
|
|
'".$this->tipo."',
|
|
'".$this->status."'
|
|
)";
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$envioId = $this->Util()->DBSelect($_SESSION['empresaId'])->InsertData();
|
|
|
|
return $envioId;
|
|
|
|
}
|
|
|
|
function Delete(){
|
|
|
|
$sql = "DELETE FROM
|
|
envio
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$sql = "DELETE FROM
|
|
envioPedido
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$sql = "DELETE FROM
|
|
envioRecibir
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$sql = "DELETE FROM
|
|
envioProducto
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$sql = "DELETE FROM
|
|
inventario
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$this->Util()->setError(30056, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function Autorizar(){
|
|
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery("
|
|
UPDATE envio SET
|
|
fechaAutorizacion = '".date('Y-m-d H:i:s')."',
|
|
userIdAutorizacion = '".$this->usuarioId."',
|
|
status = 'Autorizado'
|
|
WHERE
|
|
envioId = '".$this->envioId."'"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function AutorizarD(){
|
|
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery("
|
|
UPDATE envioDevolucion SET
|
|
fechaRecibido = '".date('Y-m-d')."',
|
|
status = '".$this->status."'
|
|
WHERE
|
|
envioDevolucionId = '".$this->envioId."'"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function AutorizarSuc(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery("
|
|
UPDATE envio SET
|
|
noCajas = '".$this->noCajas."',
|
|
fechaAutSuc = '".date('Y-m-d H:i:s')."',
|
|
userIdAutSuc = '".$this->usuarioId."',
|
|
status = 'AutSuc'
|
|
WHERE
|
|
envioId = '".$this->envioId."'"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function Rechazar(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery("
|
|
UPDATE envio SET
|
|
fechaRechazo = '".date('Y-m-d H:i:s')."',
|
|
userIdRechazo = '".$this->usuarioId."',
|
|
motivoId = '".$this->motivoId."',
|
|
otroMotivo = '".utf8_decode($this->otroMotivo)."',
|
|
status = 'Rechazado'
|
|
WHERE
|
|
envioId = '".$this->envioId."'"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}//Rechazar
|
|
|
|
function SendMsgGte(){
|
|
|
|
global $mail;
|
|
global $usuario;
|
|
|
|
$usuario->setSucursalId($this->sucursalId);
|
|
$usuario->setTipo('gerente');
|
|
$infU = $usuario->GetInfoBySuc();
|
|
|
|
//Configurando el servidor SMTP
|
|
|
|
$mail->IsSMTP();
|
|
$mail->SMTPAuth = true;
|
|
$mail->Host = SMTP_HOST;
|
|
$mail->Username = SMTP_USER;
|
|
$mail->Password = SMTP_PASS;
|
|
$mail->Port = SMTP_PORT;
|
|
|
|
//Enviamos el mensaje
|
|
|
|
$email = $infU['email'];
|
|
$nomUsuario = $infU['nombre'].' '.$infU['apellidos'];
|
|
$subject = 'Envio No. '.$this->envioId.' Autorizado';
|
|
$message .= 'Estimado '.$nomUsuario.'<br><br>';
|
|
$message .= 'Por medio de la presente le confirmamos que el envío No. '.$this->envioId;
|
|
$message .= ' ha sido autorizado correctamente.';
|
|
$message .= '<br><br>Por su atención.';
|
|
$message .='<br><br>Gracias.';
|
|
|
|
$html = '<html>
|
|
<body>
|
|
'.$message.'
|
|
</body>
|
|
</html>';
|
|
|
|
try {
|
|
$mail->AddAddress($email, $nomUsuario);
|
|
$mail->SetFrom('contacto@novomoda.com', 'Novomoda');
|
|
$mail->Subject = $subject;
|
|
$mail->MsgHTML($html);
|
|
$mail->Send();
|
|
|
|
} catch (phpmailerException $e) {
|
|
return false;
|
|
} catch (Exception $e) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
|
|
}//SendMsgGte
|
|
|
|
function UpdateRecibido(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$sql = "UPDATE
|
|
envio
|
|
SET
|
|
fechaRecibido = '".date('Y-m-d H:i:s')."',
|
|
userIdRecibido = '".$this->usuarioId."',
|
|
status = 'Recibido'
|
|
WHERE
|
|
envioId = ".$this->envioId;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function UpdateStatus(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$sql = "UPDATE
|
|
envio
|
|
SET
|
|
status = '".$this->status."'
|
|
WHERE
|
|
envioId = ".$this->envioId;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function GetValorProdsBloq(){
|
|
|
|
global $util;
|
|
global $pedido;
|
|
|
|
$sql = 'SELECT
|
|
*
|
|
FROM
|
|
inventario
|
|
WHERE
|
|
envioIdBloq = "'.$this->envioId.'"
|
|
AND
|
|
status = "Bloqueado"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
$result = $util->CheckArray($result);
|
|
|
|
$total = 0;
|
|
foreach($result as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$pedido->setProductoId($res['productoId']);
|
|
$infP = $pedido->GetInfoProd();
|
|
|
|
$total += $infP['costo'];
|
|
}
|
|
|
|
return $total;
|
|
|
|
}
|
|
|
|
function BloquearProductos(){
|
|
|
|
global $util;
|
|
global $producto;
|
|
|
|
$producto->setProdItemId($this->prodItemId);
|
|
$infP = $producto->GetInfoItemById();
|
|
|
|
$sql = 'SELECT
|
|
inventarioId
|
|
FROM
|
|
inventario AS inv, envio AS env
|
|
WHERE
|
|
inv.envioId = env.envioId
|
|
AND
|
|
inv.sucursalId = "'.$this->sucOrigen.'"
|
|
AND
|
|
inv.productoId = "'.$infP['productoId'].'"
|
|
AND
|
|
inv.status = "Disponible"
|
|
ORDER BY
|
|
env.fechaRecibido DESC
|
|
LIMIT
|
|
'.$this->cantidad;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
$result = $util->CheckArray($result);
|
|
|
|
foreach($result as $res){
|
|
$sql = 'UPDATE
|
|
inventario
|
|
SET
|
|
envioIdBloq = "'.$this->envioId.'",
|
|
envioIdFS = envioId,
|
|
status = "Bloqueado"
|
|
WHERE
|
|
inventarioId = "'.$res['inventarioId'].'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->UpdateData();
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function DesbloquearProductos(){
|
|
|
|
global $util;
|
|
|
|
$sql = 'UPDATE
|
|
inventario
|
|
SET
|
|
envioIdBloq = "0",
|
|
status = "Disponible"
|
|
WHERE
|
|
envioIdBloq = "'.$this->envioId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function UpdateProdT(){
|
|
|
|
global $util;
|
|
global $producto;
|
|
|
|
$producto->setProdItemId($this->prodItemId);
|
|
$infP = $producto->GetInfoItemById();
|
|
|
|
$sql = 'SELECT
|
|
inventarioId
|
|
FROM
|
|
inventario
|
|
WHERE
|
|
envioIdBloq = "'.$this->envioId.'"
|
|
AND
|
|
sucursalId = "'.$this->sucursalId.'"
|
|
AND
|
|
productoId = "'.$infP['productoId'].'"
|
|
AND
|
|
status = "Bloqueado"
|
|
LIMIT
|
|
'.$this->cantidad;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$result = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
$result = $util->CheckArray($result);
|
|
|
|
foreach($result as $res){
|
|
$sql = 'UPDATE
|
|
inventario
|
|
SET
|
|
sucursalId = "'.$this->sucursalId2.'",
|
|
envioId = envioIdBloq,
|
|
envioIdBloq = 0,
|
|
status = "Disponible"
|
|
WHERE
|
|
inventarioId = "'.$res['inventarioId'].'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->UpdateData();
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function SavePedido(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$sql = "INSERT INTO `envioPedido`
|
|
(
|
|
envioId,
|
|
pedidoId,
|
|
noCajas
|
|
)
|
|
VALUES (
|
|
'".$this->envioId."',
|
|
'".$this->pedidoId."',
|
|
'".$this->noCajas."'
|
|
)";
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function SaveMercancia(){
|
|
|
|
if($this->Util()->PrintErrors()){
|
|
return false;
|
|
}
|
|
|
|
$sql = "INSERT INTO envioRecibir
|
|
(
|
|
envioId,
|
|
pedidoId,
|
|
productoId,
|
|
noPrendas,
|
|
faltantes,
|
|
completo
|
|
)
|
|
VALUES (
|
|
'".$this->envioId."',
|
|
'".$this->pedidoId."',
|
|
'".$this->productoId."',
|
|
'".$this->prendas."',
|
|
'".$this->faltantes."',
|
|
'".$this->completo."'
|
|
)";
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->InsertData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function SaveProducto(){
|
|
|
|
$sql = "INSERT INTO envioProducto
|
|
(
|
|
envioId,
|
|
productoId,
|
|
prodItemId,
|
|
cantidad
|
|
)
|
|
VALUES (
|
|
'".$this->envioId."',
|
|
'".$this->productoId."',
|
|
'".$this->prodItemId."',
|
|
'".$this->cantidad."'
|
|
)";
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->InsertData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function UpdateProdsDist(){
|
|
|
|
$sql = 'UPDATE pedidoDistribucion
|
|
SET status = "'.$this->status.'",
|
|
envioId = "'.$this->envioId.'"
|
|
WHERE pedidoId = "'.$this->pedidoId.'"
|
|
AND sucursalId = "'.$this->sucursalId.'"
|
|
AND productoId = "'.$this->productoId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function GetPedidos(){
|
|
|
|
$sql = "SELECT
|
|
*
|
|
FROM
|
|
envioPedido
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$pedidos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $pedidos;
|
|
}
|
|
|
|
function GetTotalCajas(){
|
|
|
|
$sql = "SELECT
|
|
SUM(noCajas)
|
|
FROM
|
|
envioPedido
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetProductos(){
|
|
|
|
$sql = "SELECT
|
|
*
|
|
FROM
|
|
pedidoDistribucion
|
|
WHERE
|
|
pedidoId = '".$this->pedidoId."'
|
|
AND
|
|
sucursalId = '".$this->sucursalId."'
|
|
AND
|
|
envioId = '".$this->envioId."'
|
|
AND
|
|
status = 'Enviado'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $productos;
|
|
}
|
|
|
|
function GetProductos2(){
|
|
|
|
$sql = "SELECT
|
|
*
|
|
FROM
|
|
pedidoDistribucion
|
|
WHERE
|
|
pedidoId = '".$this->pedidoId."'
|
|
AND
|
|
sucursalId = '".$this->sucursalId."'
|
|
AND
|
|
status = 'Enviado'
|
|
AND
|
|
cantidad > 0";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $productos;
|
|
}
|
|
|
|
function GetProdsTienda(){
|
|
|
|
$sql = "SELECT
|
|
*
|
|
FROM
|
|
envioProducto
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $productos;
|
|
}
|
|
|
|
function GetProdRecibidos(){
|
|
|
|
$sql = "SELECT
|
|
*
|
|
FROM
|
|
envioRecibir
|
|
WHERE
|
|
envioId = '".$this->envioId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
return $productos;
|
|
}
|
|
|
|
function GetValorTotal(){
|
|
|
|
global $pedido;
|
|
global $producto;
|
|
|
|
$info = $this->Info();
|
|
|
|
$resOrdenes = $this->GetPedidos();
|
|
|
|
$total = 0;
|
|
foreach($resOrdenes as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$pedido->setSucursalId($info['sucursalId']);
|
|
$items = $pedido->GetItemsDistSuc();
|
|
|
|
foreach($items as $val){
|
|
|
|
$producto->setProductoId($val['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$pedido->setProductoId($val['productoId']);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
$prendas = $val['cantidad']; //* $infPP['totalLote'];
|
|
|
|
$total += $prendas * $infP['costo'];
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
return $total;
|
|
|
|
}
|
|
|
|
function GetTotalPrendas(){
|
|
|
|
global $pedido;
|
|
|
|
$info = $this->Info();
|
|
|
|
$resOrdenes = $this->GetPedidos();
|
|
|
|
$prendas = 0;
|
|
foreach($resOrdenes as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$pedido->setSucursalId($info['sucursalId']);
|
|
$items = $pedido->GetItemsDistSuc();
|
|
|
|
foreach($items as $val){
|
|
|
|
if($val['envioId'] != $this->envioId && $this->envioId >= 4776) //Local 4776, Prod = 4791
|
|
continue;
|
|
|
|
$pedido->setProductoId($val['productoId']);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['prendasComp'] == 0)
|
|
$val['cantidad'] = $val['prendas'];
|
|
|
|
$prendas += $val['cantidad'];
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
return $prendas;
|
|
|
|
}
|
|
|
|
function GetTotalRec(){
|
|
|
|
$sql = 'SELECT SUM(noPrendas) FROM envioRecibir
|
|
WHERE envioId = "'.$this->envioId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function UpdateTotal(){
|
|
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery("
|
|
UPDATE envio SET
|
|
total = '".$this->total."'
|
|
WHERE
|
|
envioId = '".$this->envioId."'"
|
|
);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function UpdateProdRec(){
|
|
|
|
$sql = 'UPDATE
|
|
envioProducto
|
|
SET
|
|
recibido = "'.$this->cantidad.'"
|
|
WHERE
|
|
envProdId = "'.$this->envProdId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function UpdateNoCajasRec(){
|
|
|
|
$sql = 'UPDATE
|
|
envio
|
|
SET
|
|
noCajasRec = "'.$this->cantidad.'"
|
|
WHERE
|
|
envioId = "'.$this->envioId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
|
|
|
|
return true;
|
|
}
|
|
|
|
function GetEnvioByPedido(){
|
|
|
|
$sql = 'SELECT prod.* FROM envio AS env, envioProducto AS prod, envioPedido AS ped
|
|
WHERE ped.pedidoId = "'.$this->pedidoId.'"
|
|
AND env.envioId = prod.envioId
|
|
AND env.envioId = ped.envioId';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
return $envios;
|
|
}
|
|
|
|
function GetEnvioByPedidoUtil(){
|
|
|
|
$sql = 'SELECT sucursalId FROM envioPedido
|
|
LEFT JOIN envio ON envio.envioId = envioPedido.envioId
|
|
WHERE envioPedido.pedidoId = "'.$this->pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION['empresaId'])->GetRow();
|
|
|
|
return $envios;
|
|
}
|
|
|
|
function GetEnviosTransito(){
|
|
|
|
if($this->sucursalId)
|
|
$sqlFilter = ' AND sucursalId = "'.$this->sucursalId.'"';
|
|
if($this->fechaIni)
|
|
$sqlFilter .= ' AND DATE(fecha) >= "'.$this->fechaIni.'"';
|
|
if($this->fechaFin)
|
|
$sqlFilter .= ' AND DATE(fecha) <= "'.$this->fechaFin.'"';
|
|
|
|
$sql = 'SELECT * FROM envio WHERE status = "Pendiente"
|
|
AND tipo = "CT"'.$sqlFilter;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
return $envios;
|
|
}
|
|
|
|
function GetPedidosByEnvio(){
|
|
|
|
$sql = 'SELECT pedidoId FROM envioPedido
|
|
WHERE envioId = "'.$this->envioId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$pedidos = $this->Util()->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
return $pedidos;
|
|
}
|
|
|
|
function GetTotalProdsRec(){
|
|
|
|
$sql = 'SELECT SUM(noPrendas) FROM envioRecibir
|
|
WHERE envioId = "'.$this->envioId.'"
|
|
AND productoId = "'.$this->productoId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function GetTotalProdsRecTT(){
|
|
|
|
$sql = 'SELECT SUM(recibido) FROM envioProducto
|
|
WHERE envioId = "'.$this->envioId.'"
|
|
AND productoId = "'.$this->productoId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function ExistProductoRec(){
|
|
|
|
$sql = 'SELECT COUNT(*) FROM envioRecibir
|
|
WHERE envioId = "'.$this->envioId.'"
|
|
AND productoId = "'.$this->productoId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function ExistProductoRecTT(){
|
|
|
|
$sql = 'SELECT COUNT(*) FROM envioProducto
|
|
WHERE envioId = "'.$this->envioId.'"
|
|
AND productoId = "'.$this->productoId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function ExistProductoRep(){
|
|
|
|
$sql = 'SELECT COUNT(*) FROM envioReporteProd
|
|
WHERE envioId = "'.$this->envioId.'"
|
|
AND productoId = "'.$this->productoId.'"
|
|
AND status <> "Rechazado"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION['empresaId'])->GetSingle();
|
|
|
|
return $total;
|
|
}
|
|
|
|
function SaveReporteProd(){
|
|
|
|
$sql = "INSERT INTO envioReporteProd
|
|
(
|
|
envioId,
|
|
sucursalId,
|
|
productoId,
|
|
total,
|
|
tipo,
|
|
cantidad,
|
|
fecha,
|
|
usuarioId
|
|
)
|
|
VALUES (
|
|
'".$this->envioId."',
|
|
'".$this->sucursalId."',
|
|
'".$this->productoId."',
|
|
'".$this->total."',
|
|
'".$this->tipo."',
|
|
'".$this->cantidad."',
|
|
'".date('Y-m-d H:i:s')."',
|
|
'".$this->usuarioId."'
|
|
)";
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->InsertData();
|
|
|
|
$this->Util()->setError(30074, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function DelEnvRepProd(){
|
|
|
|
$sql = "DELETE FROM
|
|
envioReporteProd
|
|
WHERE
|
|
envRepProdId = '".$this->envRepProdId."'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
$this->Util()->setError(30076, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function EnumRepProd()
|
|
{
|
|
if($this->sucursalId)
|
|
$sqlFilter .= ' AND sucursalId = "'.$this->sucursalId.'"';
|
|
|
|
$sql = "SELECT COUNT(*) FROM envioReporteProd WHERE 1 ".$sqlFilter;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
$pages = $this->Util->HandleMultipages($this->page, $total ,WEB_ROOT."/envios-recibir-reporte");
|
|
|
|
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
|
|
|
|
$sql = "SELECT * FROM envioReporteProd
|
|
WHERE 1 ".$sqlFilter."
|
|
ORDER BY envRepProdId DESC".$sqlAdd;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $productos;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function SearchRepProd()
|
|
{
|
|
$sqlAdd = '';
|
|
|
|
if($this->sucursalId)
|
|
$sqlAdd .= ' AND sucursalId = "'.$this->sucursalId.'"';
|
|
if($this->envioId)
|
|
$sqlAdd .= ' AND envioId = "'.$this->envioId.'"';
|
|
if($this->productoId)
|
|
$sqlAdd .= ' AND productoId = "'.$this->productoId.'"';
|
|
if($this->status)
|
|
$sqlAdd .= ' AND status = "'.$this->status.'"';
|
|
|
|
$sql = "SELECT * FROM envioReporteProd
|
|
WHERE 1 ".$sqlAdd."
|
|
ORDER BY envRepProdId ASC";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$data["items"] = $productos;
|
|
$data["pages"] = $pages;
|
|
|
|
return $data;
|
|
}
|
|
|
|
function AutorizarRepProd(){
|
|
|
|
$sql = "UPDATE envioReporteProd SET status = 'Autorizado'
|
|
WHERE envRepProdId = ".$this->envRepProdId;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
$this->Util()->setError(20134, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function RechazarRepProd(){
|
|
|
|
$sql = "UPDATE envioReporteProd SET status = 'Rechazado'
|
|
WHERE envRepProdId = ".$this->envRepProdId;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
$this->Util()->setError(20135, "complete");
|
|
$this->Util()->PrintErrors();
|
|
|
|
return true;
|
|
}
|
|
|
|
function InfoRepProd(){
|
|
|
|
$sql = 'SELECT * FROM envioReporteProd
|
|
WHERE envRepProdId = "'.$this->envRepProdId.'"';
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$info = $this->Util()->DBSelect($_SESSION['empresaId'])->GetRow();
|
|
|
|
return $info;
|
|
}
|
|
|
|
function AjustarInventario(){
|
|
|
|
$sql = "UPDATE inventario SET status = 'Ajuste'
|
|
WHERE envioId = '".$this->envioId."'
|
|
AND productoId = '".$this->productoId."'
|
|
AND status = 'Disponible'
|
|
LIMIT ".$this->cantidad;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
}
|
|
|
|
function AjustarInventarioTT(){
|
|
|
|
$sql = "UPDATE inventario SET envioId = envioIdFS, envioIdFS = 0, sucursalId = '".$this->sucursalId."'
|
|
WHERE envioId = '".$this->envioId."'
|
|
AND productoId = '".$this->productoId."'
|
|
AND status = 'Disponible'
|
|
LIMIT ".$this->cantidad;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->UpdateData();
|
|
|
|
return true;
|
|
}
|
|
|
|
function AjustarEnvio(){
|
|
|
|
$envioId = $this->envioId;
|
|
|
|
$sql = 'SELECT *
|
|
FROM envioRecibir
|
|
WHERE envioId = "'.$envioId.'"
|
|
ORDER BY envioRecId ASC';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$resEnvios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
foreach($resEnvios as $res){
|
|
|
|
$envioRecId = $res['envioRecId'];
|
|
$productoId = $res['productoId'];
|
|
$pedidoId = $res['pedidoId'];
|
|
|
|
//Checamos si existe el producto
|
|
$sql = 'SELECT COUNT(*)
|
|
FROM envioRecibir
|
|
WHERE envioRecId = "'.$envioRecId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$existe = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
if(!$existe)
|
|
continue;
|
|
|
|
$sql = 'SELECT COUNT(*)
|
|
FROM envioRecibir
|
|
WHERE envioId = "'.$envioId.'"
|
|
AND productoId = "'.$productoId.'"
|
|
AND pedidoId = "'.$pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$total = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
if($total > 1){
|
|
$sql = 'DELETE FROM envioRecibir
|
|
WHERE envioId = "'.$envioId.'"
|
|
AND productoId = "'.$productoId.'"
|
|
AND pedidoId = "'.$pedidoId.'"
|
|
AND envioRecId <> '.$envioRecId;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
}//if
|
|
|
|
$sql = 'SELECT COUNT(*)
|
|
FROM inventario
|
|
WHERE envioId = "'.$envioId.'"
|
|
AND productoId = "'.$productoId.'"
|
|
AND pedidoId = "'.$pedidoId.'"';
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$totalInv = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
if($totalInv > $res['noPrendas']){
|
|
$sobrante = $totalInv - $res['noPrendas'];
|
|
|
|
$sql = 'DELETE FROM inventario
|
|
WHERE envioId = "'.$envioId.'"
|
|
AND productoId = "'.$productoId.'"
|
|
AND pedidoId = "'.$pedidoId.'"
|
|
AND status = "Disponible"
|
|
LIMIT '.$sobrante;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
}
|
|
|
|
}//foreach
|
|
|
|
}//AjustarEnvio
|
|
|
|
function DesbProdRecT(){
|
|
|
|
$envioId = $this->envioId;
|
|
|
|
$sql = "SELECT *
|
|
FROM envioProducto
|
|
WHERE envioId = ".$envioId;
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$envios = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
foreach($envios as $res){
|
|
|
|
$recibido = $res['recibido'];
|
|
$cantidad = $res['cantidad'];
|
|
|
|
$sql = "SELECT COUNT(*)
|
|
FROM inventario
|
|
WHERE envioIdBloq = ".$envioId."
|
|
AND productoId = ".$res['productoId']."
|
|
AND status = 'Bloqueado'";
|
|
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$bloqueados = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
if($bloqueados >= $cantidad){
|
|
|
|
$this->setEnvioId($envioId);
|
|
$infE = $this->Info();
|
|
|
|
$sql = 'UPDATE
|
|
inventario
|
|
SET
|
|
sucursalId = "'.$infE['sucursalId'].'",
|
|
envioId = envioIdBloq,
|
|
envioIdBloq = 0,
|
|
status = "Disponible"
|
|
WHERE
|
|
envioIdBloq = "'.$envioId.'"
|
|
AND productoId = "'.$res['productoId'].'"
|
|
AND status = "Bloqueado"
|
|
LIMIT '.$recibido;
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$this->Util()->DBSelect($_SESSION['empresaId'])->UpdateData();
|
|
|
|
}
|
|
|
|
}//foreach
|
|
|
|
}
|
|
|
|
}//Envio
|
|
|
|
?>
|