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.'

'; $message .= 'Por medio de la presente le confirmamos que el envío No. '.$this->envioId; $message .= ' ha sido autorizado correctamente.'; $message .= '

Por su atención.'; $message .='

Gracias.'; $html = ' '.$message.' '; 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 ?>