public function agregarInventario($tipo_documento, $nroSerie, $nro_documento, $tipo, $idProducto, $cantidad, $Precio, $Total) { $resultado = array('valor' => 1, 'message' => 'Su solicitud ha sido procesada correctamente.'); $Inventario = new Inventario(); $Inventario->tipo_documento = $tipo_documento; $Inventario->serie = $nroSerie; $Inventario->nro_documento = $nro_documento; $Inventario->tipo = $tipo; $Inventario->idproducto = $idProducto; $Inventario->cantidad = $cantidad; $Inventario->valor_unitario = $Precio; $Inventario->total = $Total; $Inventario->save(); return $resultado; }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfWebRequest $request) { $this->form = new IngresoInventarioForm(); if ($request->isMethod('POST')) { $this->form->bind($request->getParameter('ingreso_inventario')); if ($this->form->isValid()) { $valores = $this->form->getValues(); $BitacoraCambios = new BitacoraCambios(); $BitacoraCambios->setModelo('Inventario'); $Producto = ProductoQuery::create()->findOneById($valores['Producto']); $BitacoraCambios->setDescripcion('Ingreso de Inventario de Producto: ' . $Producto->getDescripcion() . ' con cantidad ' . $valores['Cantidad']); $BitacoraCambios->setIp($request->getRemoteAddress()); $Usuario = UsuarioQuery::create()->findOneById(sfContext::getInstance()->getUser()->getAttribute('usuario', null, 'seguridad')); if ($Usuario) { $BitacoraCambios->setCreatedBy($Usuario->getUsuario()); } $Movimiento = new Movimiento(); $Movimiento->setTipoMovimiento('+'); $Movimiento->setProveedorId($valores['Proveedor']); $Movimiento->setProductoId($Producto->getId()); $Movimiento->setCantidad($valores['Cantidad']); $Movimiento->setPrecio($valores['Precio']); $Movimiento->save(); $BitacoraCambios->save(); $Comprobacion = InventarioQuery::create()->filterByProductoId($valores['Producto'])->filterByProveedorId($valores['Proveedor'])->findOne(); if ($Comprobacion) { $Comprobacion->setCantidad($Comprobacion->getCantidad() + $valores['Cantidad']); $anterior = $Comprobacion->getCantidad() * $Comprobacion->getPrecioCompra(); $actual = $valores['Cantidad'] * $valores['Precio']; $suma = ($anterior + $actual) / ($valores['Cantidad'] + $Comprobacion->getCantidad()); $Comprobacion->setPrecioCompra($suma); $Comprobacion->save(); } else { $Inventario = new Inventario(); $Inventario->setPrecioCompra($valores['Precio']); $Inventario->setProductoId($valores['Producto']); $Inventario->setProveedorId($valores['Proveedor']); $Inventario->setCantidad($valores['Cantidad']); $Inventario->save(); } $this->redirect('inventario/index'); } } $this->cinco = InventarioQuery::create()->orderById('DESC')->limit(5)->find(); }
public function executeEntregado(sfWebRequest $request) { $id = $request->getParameter('id'); $BitacoraCambios = new BitacoraCambios(); $BitacoraCambios->setModelo('Pedido Proveedores'); $Usuario = UsuarioQuery::create()->findOneById(sfContext::getInstance()->getUser()->getAttribute('usuario', null, 'seguridad')); $BitacoraCambios->setDescripcion('Cambio de estado de Pedido a Proveedor a Entregado con id : ' . $id . ' el usuario ' . $Usuario->getNombre()); $BitacoraCambios->setIp($request->getRemoteAddress()); $pedido = PedidoProveedorQuery::create()->findOneById($id); $pedido->setEstado('Entregado'); $pedido->save(); $detalle_pedido = DetallePedidoProveedorQuery::create()->filterByPedidoProveedor($pedido)->find(); foreach ($detalle_pedido as $det) { $Comprobacion = InventarioQuery::create()->filterByProductoId($det->getProductoId())->filterByProveedorId($pedido->getProveedorId())->findOne(); if ($Comprobacion) { $Comprobacion->setCantidad($Comprobacion->getCantidad() + $det->getCantidad()); $anterior = $det->getCantidad() * $Comprobacion->getPrecioCompra(); $actual = $det->getCantidad() * $det->getPrecio(); $suma = ($anterior + $actual) / ($det->getCantidad() + $Comprobacion->getCantidad()); $Comprobacion->setPrecioCompra($suma); $Comprobacion->save(); } else { $Inventario = new Inventario(); $Inventario->setPrecioCompra($det->getPrecio()); $Inventario->setProductoId($det->getProductoId()); $Inventario->setProveedorId($pedido->getProveedorId()); $Inventario->setCantidad($det->getCantidad()); $Inventario->save(); } $Movimiento = new Movimiento(); $Movimiento->setTipoMovimiento('+'); $Movimiento->setProveedorId($pedido->getProveedorId()); $Movimiento->setProductoId($det->getProductoId()); $Movimiento->setCantidad($det->getCantidad()); $Movimiento->setPrecio($det->getPrecio()); $Movimiento->save(); } $this->redirect('pedido_proveedor/index'); }
public function save() { $post = $this->_post(NULL, TRUE); try { if (is_array($post)) { $producto = NomProductoTable::getInstance()->find($post['producto_id']); if (!$producto) { //Si el producto no existe devuelvo un error $msg = "Producto no encontrado."; return $this->_jsonResponse(array("msg" => $msg), 404, $msg); } $entidad = NomEntidadTable::getInstance()->find($post['entidad_id']); if (!$entidad) { //Si la entidad no existe devuelvo un error $msg = "Entidad no encontrada."; return $this->_jsonResponse(array("msg" => $msg), 404, $msg); } if ($post['id']) { $inventario = $this->_getTable()->find($post['id']); if (!$inventario) { //Si el inventario no existe devuelvo un error $msg = "Inventario no encontrado."; return $this->_jsonResponse(array("msg" => $msg), 404, $msg); } } else { $inventario = new Inventario(); } $inventario->fromArray($post, false); $inventario->set('Producto', $producto); $inventario->set('Entidad', $entidad); $inventario->save(); $this->_jsonResponse($inventario->toArray()); } } catch (Exception $exc) { log_message('error', $exc->getMessage()); log_message('error', $exc->getTraceAsString()); $this->_jsonResponse(array("msg" => "Ha ocurrido un error mientras se intentaba guardar un producto."), 500); } }
$inv->Codigo = $i->Codigo; $inv->CodigoBarra = $i->CodigoBarra; $inv->Precio = $i->Precio; $inv->Descuento = $i->Descuento; $inv->Entrada = $i->Existencia; $inv->Existencia = $i->Existencia; $inv->DescuentoUfi = $i->DescuentoUfi; $inv->DescuentoEmpaque = $i->DescuentoEmpaque; $inv->UnidadEmpaque = $i->UnidadEmpaque; $inv->DescuentoComercial = $i->DescuentoComercial; $inv->DescuentoProntoPago = $i->DescuentoProntoPago; $inv->Lote = $i->Lote; $inv->Vencimiento = $i->Vencimiento; $inv->UnidadManejo = $i->UnidadManejo; $inv->FechaVenta = Fecha::arreglarFecha2(Fecha::fechaActual()); $inv->save(); $inv->productos()->attach($produ->id); echo "Guardado inventario con codigo: " . $i->Codigo . "<br>"; } else { $inv = Inventario::find($inve->id); $inv->user_id = 1; $inv->Codigo = $i->Codigo; $inv->CodigoBarra = $i->CodigoBarra; $inv->Precio = $i->Precio; $inv->Descuento = $i->Descuento; $inv->Entrada = $i->Existencia; $inv->Existencia = $i->Existencia; $inv->DescuentoUfi = $i->DescuentoUfi; $inv->DescuentoEmpaque = $i->DescuentoEmpaque; $inv->UnidadEmpaque = $i->UnidadEmpaque; $inv->DescuentoComercial = $i->DescuentoComercial;
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Inventario(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Inventario'])) { $model->attributes = $_POST['Inventario']; if ($model->save()) { Yii::app()->user->setFlash('success', ' Se ha creado el activo Fijo '); $this->render('update', array('model' => $model)); Yii::app()->end(); } } $this->render('create', array('model' => $model)); }
/** * @name obtenerInventario * * @description Retorna un listado con las existencias del producto, * precio, ofertas, lote, vencimiento y unidad de manejo * del producto. Se recomienda que este servicio se invoque * una vez al día de manera de obtener información de las * ofertas para los siguientes llamados para actualizar el * inventario debe invocarse el método “ObtenerExistencias” */ public function obtenerInventario() { $chequeado = DB::table('chequeo_inventarios')->where('user_id', '=', Auth::user()->id)->where('fecha', '=', Fecha::arreglarFecha2(Fecha::fechaActual()))->first(); if (!$chequeado) { DB::insert("INSERT INTO ldcsyste_dbskutools.`chequeo_inventarios` (user_id, fecha, hora) VALUES(?, CURRENT_DATE(),CURRENT_TIME())", array(Auth::user()->id)); $sede = DB::table('sedes')->where('id', '=', Auth::user()->sede_id)->first(); set_time_limit(10000); $autorizacion = json_decode($this->obtenerTokenUsuario()); $option = ['http' => ['method' => 'GET', 'header' => ['Authorization: GUID ' . $autorizacion->Guid, 'Content-Type: application/json']]]; $context = stream_context_create($option); $inventarios = json_decode(file_get_contents("http://test.dronena.com:8083/REST/Cloud/Producto/Inventario/" . $sede->Codigo . "/Cliente/" . Auth::user()->Codigo_Cliente, false, $context)); foreach ($inventarios->Inventario->Producto as $i) { $inve = DB::table('inventarios')->where('user_id', '=', Auth::user()->id)->where('Codigo', '=', $i->Codigo)->where('CodigoBarra', '=', $i->CodigoBarra)->first(); if (!$inve) { $produ = DB::table('productos')->where('Codigo', '=', $i->Codigo)->where('CodigoBarra', '=', $i->CodigoBarra)->first(); $inv = new Inventario(); $inv->user_id = Auth::user()->id; $inv->Codigo = $i->Codigo; $inv->CodigoBarra = $i->CodigoBarra; $inv->Precio = $i->Precio; $inv->Descuento = $i->Descuento; $inv->Entrada = $i->Existencia; $inv->Existencia = $i->Existencia; $inv->DescuentoUfi = $i->DescuentoUfi; $inv->DescuentoEmpaque = $i->DescuentoEmpaque; $inv->UnidadEmpaque = $i->UnidadEmpaque; $inv->DescuentoComercial = $i->DescuentoComercial; $inv->DescuentoProntoPago = $i->DescuentoProntoPago; $inv->Lote = $i->Lote; $inv->Vencimiento = $i->Vencimiento; $inv->UnidadManejo = $i->UnidadManejo; $inv->FechaVenta = Fecha::arreglarFecha2(Fecha::fechaActual()); $inv->save(); $inv->productos()->attach($produ->id); } else { $inv = Inventario::find($inve->id); $inv->user_id = Auth::user()->id; $inv->Codigo = $i->Codigo; $inv->CodigoBarra = $i->CodigoBarra; $inv->Precio = $i->Precio; $inv->Descuento = $i->Descuento; $inv->Entrada = $i->Existencia; $inv->Existencia = $i->Existencia; $inv->DescuentoUfi = $i->DescuentoUfi; $inv->DescuentoEmpaque = $i->DescuentoEmpaque; $inv->UnidadEmpaque = $i->UnidadEmpaque; $inv->DescuentoComercial = $i->DescuentoComercial; $inv->DescuentoProntoPago = $i->DescuentoProntoPago; $inv->Lote = $i->Lote; $inv->Vencimiento = $i->Vencimiento; $inv->UnidadManejo = $i->UnidadManejo; $inv->FechaVenta = Fecha::arreglarFecha2(Fecha::fechaActual()); $inv->save(); } } } }