Info(); $smarty->assign('Usr', $Usr); if(isset($_POST['action'])) $_POST['type'] = $_POST['action']; switch($_POST["type"]){ case 'agregarReporte': $inventario->setFecha(date('Y-m-d H:i:s')); $inventario->setUsuarioId($Usr['usuarioId']); $invFisicoId = $inventario->CrearInvFisico(); echo 'ok[#]'; echo $invFisicoId; break; case 'eliminarReporte': $inventario->setInvFisicoId($_POST['invFisicoId']); if($inventario->DeleteInvFisico()){ $resReportes = $inventario->EnumRepInvFis(); $items = array(); foreach($resReportes['items'] as $res){ $sucursal->setSucursalId($res['sucursalId']); $res['sucursal'] = urldecode($sucursal->GetNameById()); $usuario->setUsuarioId($res['usuarioId']); $res['usuario'] = urldecode($usuario->GetNameById()); $items[] = $res; } $resReportes['items'] = $items; echo 'ok[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status.tpl'); echo "[#]"; $smarty->assign('resReportes',$resReportes); $smarty->display(DOC_ROOT.'/templates/lists/inventario-fisico.tpl'); }//if break; case 'updateSucursal': $inventario->setSucursalId($_POST['sucursalId']); $inventario->setInvFisicoId($_POST['invFisicoId']); $inventario->UpdSucInvFisico(); echo 'ok[#]'; echo 'La sucursal fue actualizada correctamente.'; break; case 'agregarProducto': $invFisicoId = $_POST['invFisicoId']; $productoId = $_POST['productoId']; $cantidad = $_POST['cantidad']; if($productoId == ""){ echo 'fail[#]'; echo 'Por favor, seleccione el producto.'; exit; } $inventario->setInvFisicoId($invFisicoId); $inventario->setProductoId($productoId); if($inventario->ExistProdInvFis()){ echo 'fail[#]'; echo 'El producto ya fue agregado anteriormente.'; exit; } if($cantidad == ""){ echo 'fail[#]'; echo 'Por favor, ingrese la cantidad física del producto.'; exit; } $inventario->setInvFisicoId($invFisicoId); $inventario->setProductoId($productoId); $inventario->setCantidad($cantidad); $inventario->SaveInvProd(); //Obtenemos los Productos $inventario->setInvFisicoId($invFisicoId); $resProds = $inventario->GetInvFisicoProds(); $productos = array(); foreach($resProds as $res){ $producto->setProductoId($res['productoId']); $infP = $producto->Info(); $proveedor->setProveedorId($infP['proveedorId']); $res['proveedor'] = utf8_encode($proveedor->GetNameById()); $res['codigoBarra'] = $infP['codigoBarra']; $res['modelo'] = utf8_encode($infP['modelo']); $productos[] = $res; } echo 'ok[#]'; echo 'El producto fue agregado correctamente.'; echo '[#]'; $smarty->assign('productos',$productos); $smarty->display(DOC_ROOT.'/templates/lists/inventario-fisico-prods.tpl'); break; case 'eliminarProducto': $invFisProdId = $_POST['invFisProdId']; $inventario->setInvFisProdId($invFisProdId); $infP = $inventario->InfoInvFisProd(); $inventario->DelInvFisProd(); //Obtenemos los Productos $inventario->setInvFisicoId($infP['invFisicoId']); $resProds = $inventario->GetInvFisicoProds(); $productos = array(); foreach($resProds as $res){ $producto->setProductoId($res['productoId']); $infP = $producto->Info(); $proveedor->setProveedorId($infP['proveedorId']); $res['proveedor'] = utf8_encode($proveedor->GetNameById()); $res['codigoBarra'] = $infP['codigoBarra']; $res['modelo'] = utf8_encode($infP['modelo']); $productos[] = $res; } echo 'ok[#]'; echo 'El producto fue eliminado correctamente.'; echo '[#]'; $smarty->assign('productos',$productos); $smarty->display(DOC_ROOT.'/templates/lists/inventario-fisico-prods.tpl'); break; case 'buscarProducto': $sucursalId = $_POST['sucursalId']; $codigoBarra = trim($_POST['codigoBarra']); $producto->setCodigoBarra($codigoBarra); $productoId = $producto->GetProductIdByCodigo(); if(!$productoId){ echo 'fail[#]'; echo 'No se encontró el producto con ese código. Por favor, verifique.'; exit; exit; } $producto->setProductoId($productoId); $nombre = $producto->GetModeloById(); echo 'ok[#]'; echo ' '.utf8_encode($nombre); echo '[#]'; echo $productoId; break; case 'ajustarInventario': $invFisicoId = $_POST['invFisicoId']; $inventario->setInvFisicoId($invFisicoId); $infR = $inventario->InfoInvFisico(); $sucursalId = $infR['sucursalId']; //Metemos los Productos que estan disponibles y no fueron agregados al reporte $sql = 'SELECT productoId FROM inventario WHERE sucursalId = '.$sucursalId.' AND status = "Disponible" GROUP BY productoId'; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $productos = $util->DBSelect($_SESSION['empresaId'])->GetResult(); foreach($productos as $res){ $sql = 'SELECT invFisProdId FROM inventarioFisicoProd WHERE invFisicoId = '.$invFisicoId.' AND productoId = '.$res['productoId']; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $existe = $util->DBSelect($_SESSION['empresaId'])->GetSingle(); if(!$existe){ $sql = 'INSERT INTO inventarioFisicoProd (invFisicoId, productoId, cantidad, disponible) VALUES('.$invFisicoId.', '.$res['productoId'].', 0, 0)'; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $util->DBSelect($_SESSION['empresaId'])->InsertData(); }//if } //Ajustamos los Productos $resProds = $inventario->GetInvFisicoProds(); foreach($resProds as $res){ $productoId = $res['productoId']; $inventario->setProductoId($productoId); $inventario->setSucursalId($sucursalId); $disponible = $inventario->GetDispByProd(); $cantAjustar = $res['cantidad']; if($disponible > $cantAjustar){ $cantidad = $disponible - $cantAjustar; $modo = 'Eliminar'; }else{ $cantidad = $cantAjustar - $disponible; $modo = 'Agregar'; } if($modo == 'Eliminar'){ $inventario->setSucursalId($sucursalId); $inventario->setProductoId($productoId); $inventario->setCantidad($cantidad); $inventario->AjustarProductos(); }else{ $sql = 'SELECT proveedorId FROM producto WHERE productoId = "'.$productoId.'"'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $proveedorId = $util->DBSelect($_SESSION["empresaId"])->GetSingle(); //Obtenemos el Sig. No de Pedido $sql = 'SELECT MAX(noPedido) FROM pedido'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $noPedido = $util->DBSelect($_SESSION["empresaId"])->GetSingle(); $noPedido++; //CARGAMOS LOS PRODUCTOS $sql = 'INSERT INTO pedido ( proveedorId, folioProv, noPedido, fecha, fechaEntrega, metodoCompra, resurtido, usuarioId, fechaAprobacion, userIdAprobacion, fechaDistribucion, userIdDistribucion, fechaAutorizacion, userIdAutorizacion, fechaOrdenCompEnv, userIdOrdenCompEnv, fechaOrdenCompIng, userIdOrdenCompIng, ajuste, status )VALUES( "'.$proveedorId.'", "FOLIO'.$noPedido.'", "'.$noPedido.'", "'.date('Y-m-d H:i:s').'", "'.date('Y-m-d').'", "conIva", "0", "2", "'.date('Y-m-d H:i:s').'", "3", "'.date('Y-m-d H:i:s').'", "6", "'.date('Y-m-d H:i:s').'", "3", "'.date('Y-m-d H:i:s').'", "2", "'.date('Y-m-d H:i:s').'", "4", "1", "EnvSuc" )'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $pedidoId = $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'SELECT * FROM producto WHERE productoId = '.$productoId; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $infP = $util->DBSelect($_SESSION["empresaId"])->GetRow(); $sql = 'INSERT INTO pedidoColor (pedidoId, productoId, colorId, cantidad) VALUES ("'.$pedidoId.'","'.$productoId.'", 2, '.$cantidad.')'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'INSERT INTO pedidoTalla (pedidoId, productoId, tallaId, cantidad) VALUES ("'.$pedidoId.'","'.$productoId.'", 1, 1)'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'INSERT INTO pedidoDistribucion (pedidoId, productoId, sucursalId, cantidad, status) VALUES ("'.$pedidoId.'","'.$productoId.'", "'.$sucursalId.'", "'.$cantidad.'", "Enviado")'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'INSERT INTO pedidoProducto (pedidoId, productoId, prodCatId, prodSubcatId, totalLote, cantLotes, cantPrendas, prendasComp, costo, precioVenta, status) VALUES ("'.$pedidoId.'","'.$productoId.'", "'.$infP['prodCatId'].'", "'.$infP['prodSubcatId'].'", "'.$cantidad.'", 1, "'.$cantidad.'","1","'.$infP['costo'].'", "'.$infP['precioVentaIva'].'" ,"Aprobado")'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); //Envios $sql = 'INSERT INTO envio (sucursalId, fecha, usuarioId, fechaRecibido, userIdRecibido, tipo, status) VALUES ("'.$sucursalId.'","'.date('Y-m-d H:i:s').'", 4, "'.date('Y-m-d H:i:s').'", 5, "CT", "Recibido")'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $envioId = $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'INSERT INTO envioPedido (envioId, pedidoId, noCajas) VALUES ("'.$envioId.'", "'.$pedidoId.'", 1)'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'INSERT INTO envioRecibir (envioId, pedidoId, productoId, noPrendas, completo) VALUES ("'.$envioId.'", "'.$pedidoId.'", "'.$productoId.'", "'.$cantidad.'", "1")'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); $sql = 'SELECT * FROM producto WHERE productoId = '.$productoId; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $infP = $util->DBSelect($_SESSION["empresaId"])->GetRow(); for($k=0; $k<$cantidad; $k++){ $sql = 'INSERT INTO inventario (envioId, pedidoId, sucursalId, productoId, prodItemId, precioVenta, cantidad, status) VALUES ("'.$envioId.'", "'.$pedidoId.'", "'.$sucursalId.'", "'.$productoId.'", "'.$productoId.'", "'.$infP['precioVentaIva'].'", "1", "Disponible")'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->InsertData(); }//for }//else //Actualizamos la cantidad por el disponible en caso de //que hayan vendido algo en ultimo momento $sql = 'UPDATE inventarioFisicoProd SET disponible = "'.$disponible.'" WHERE invFisProdId = "'.$res['invFisProdId'].'"'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->UpdateData(); }//foreach //Actualizamos el inventario $sql = 'UPDATE inventarioFisico SET status = "Procesado", fechaAjuste = "'.date('Y-m-d H:i:s').'" WHERE invFisicoId = "'.$invFisicoId.'"'; $util->DBSelect($_SESSION["empresaId"])->setQuery($sql); $util->DBSelect($_SESSION["empresaId"])->UpdateData(); //Fin Ajustar //Obtenemos los Productos $inventario->setInvFisicoId($invFisicoId); $resProds = $inventario->GetInvFisicoProds(); $productos = array(); foreach($resProds as $res){ $producto->setProductoId($res['productoId']); $infP = $producto->Info(); $proveedor->setProveedorId($infP['proveedorId']); $res['proveedor'] = utf8_encode($proveedor->GetNameById()); $res['codigoBarra'] = $infP['codigoBarra']; $res['modelo'] = utf8_encode($infP['modelo']); $productos[] = $res; } $util->setError(20139,'complete'); $util->PrintErrors(); echo 'ok[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status.tpl'); echo '[#]'; $smarty->assign('productos',$productos); $smarty->display(DOC_ROOT.'/templates/lists/inventario-fisico-prods.tpl'); break; }//switch ?>