function registra() { $dataMovimiento = $_REQUEST['Movimiento']; $dataDetalleMovimiento = $_REQUEST['Detallemovimiento']; $producto = new Producto(); $movimiento = new Movimiento(); $detalleMovimiento = new Detallemovimiento(); $dataMovimiento['idtipooperacion'] = $dataMovimiento['conceptomovimiento']; if (!empty($dataMovimiento['iddocumentotipo'])) { $dataMovimiento['essunat'] = 1; } $exitoMovimiento = $movimiento->grabaMovimiento($dataMovimiento); if ($exitoMovimiento) { $operacion = $dataMovimiento['tipomovimiento']; foreach ($dataDetalleMovimiento as $data) { $idProducto = $data['idproducto']; $dataBusqueda = $producto->buscaProducto($idProducto); if ($operacion == 2) { $valor = $dataBusqueda[0]['stockactual'] - $data['cantidad']; if ($valor <= 0) { $stockNuevo['esagotado'] = 1; $stockNuevo['fechaagotado'] = date('Y-m-d'); } $stockNuevo['esagotado'] = 0; $stockNuevo['fechaagotado'] = null; $stockNuevo['stockactual'] = $valor; $stockNuevo['stockdisponible'] = $dataBusqueda[0]['stockdisponible'] - $data['cantidad']; } elseif ($operacion == 1) { $stockNuevo['esagotado'] = 0; $stockNuevo['fechaagotado'] = null; $stockNuevo['stockactual'] = $dataBusqueda[0]['stockactual'] + $data['cantidad']; $stockNuevo['stockdisponible'] = $dataBusqueda[0]['stockdisponible'] + $data['cantidad']; } //$stockNuevo=($operacion=='+')?array('esagotado'=>0,'stockactual'=>($data['stockactual']+$data['cantidad']),'stockdisponible'=>($data['stockdisponibledm']+$data['cantidad'])):array('stockactual'=>($data['stockactual']-$data['cantidad']),'stockdisponible'=>($data['stockdisponibledm']-$data['cantidad'])); $exitoProducto = $producto->actualizaProducto($stockNuevo, $data['idproducto']); $data2['stockactual'] = $stockNuevo['stockactual']; $data2['idmovimiento'] = $exitoMovimiento; $data2['preciovalorizado'] = $dataBusqueda[0]['preciocosto']; $data2['importe'] = $data['cantidad'] * $dataBusqueda[0]['preciocosto']; $data2['stockdisponibledm'] = $stockNuevo['stockdisponible']; $data2['idproducto'] = $data['idproducto']; $data2['cantidad'] = $data['cantidad']; $data2['pu'] = $dataBusqueda[0]['preciocosto']; $exitoDetalleMovimiento = $detalleMovimiento->grabaDetalleMovimieto($data2); } } if ($exitoDetalleMovimiento and $exitoProducto) { $ruta['ruta'] = "/almacen/movstock"; $this->view->show("ruteador.phtml", $ruta); } }
function registra() { $dataMovimiento = $_REQUEST['Movimiento']; $idOrdenCompra = $dataMovimiento[idordencompra]; $numero = $_REQUEST['txtCantidadDetalleMovimiento']; $producto = new Producto(); $movimiento = new Movimiento(); $detalleMovimiento = new Detallemovimiento(); $ordenCompra = new Ordencompra(); $detalleOrdenCompra = new Detalleordencompra(); $historialProducto = new Historialproducto(); $exitoMovimiento = $movimiento->grabaMovimiento($dataMovimiento); $operacion = $dataMovimiento[idtipomovimiento] == 1 ? "+" : "-"; //Si el concepto movimiento es ingreso por compras if ($dataMovimiento[idordencompra]) { $dataOrdenCompra = array('registrado' => '1'); $exitoOrdenCompra = $ordenCompra->actualizaOrdenCompra($dataOrdenCompra, $idOrdenCompra); for ($i = 1; $i <= $numero; $i++) { $datosDetalleMovimiento = $_REQUEST['Detallemovimiento' . $i]; $datosProducto = $_REQUEST['Producto' . $i]; if ($datosDetalleMovimiento[estado]) { $cantidad = $datosDetalleMovimiento[cantidadrecibida]; $idProducto = $datosDetalleMovimiento[idproducto]; $iddetalleordencompra = $datosDetalleMovimiento[iddetalleordencompra]; //Obtenemos el stock actual y agregamos el elemento stockactual al //array $datosProducto y lo actualizamos la tabla wc_producto $dataProducto = $producto->buscaProducto($idProducto); $datosProducto['stockactual'] = $dataProducto[0]['stockactual'] + $cantidad; $exitoProducto = $producto->actualizaProducto($datosProducto, $idProducto); //Actualizamos la cantidadrecibida de la tabla wc_detalleordencompra $cantidadRecibida = array('cantidadrecibida' => $cantidad); $exitoDetalleOrdenCompra = $detalleOrdenCompra->actualizaDetalleOrdenCompra($cantidadRecibida, $iddetalleordencompra); //Preparar el array $datosProducto para insertar registro en al tabla //wc_historialproducto. Eliminamos los elemtos stockactual y preciolista //luego agregamos idproducto y cantidad. unset($datosProducto['stockactual']); unset($datosProducto['preciolista']); $datosProducto['idproducto'] = $idProducto; $datosProducto['cantidad'] = $cantidad; $datosProducto['fecha'] = date('Y/m/d'); $exitoHistorialProducto = $historialProducto->grabaHistorialProducto($datosProducto); //Preparamos el array $datosDetalleMovimiento para insertar registro en la //tabla wc_detallemovimiento. unset($datosDetalleMovimiento['iddetalleordencompra']); unset($datosDetalleMovimiento['estado']); array_splice($datosDetalleMovimiento, -2); $datosDetalleMovimiento['cantidad'] = $cantidad; $exitoDetalleMovimiento = $detalleMovimiento->grabaDetalleMovimieto($datosDetalleMovimiento); } } if ($exitoMovimiento and $exitoOrdenCompra and $exitoProducto and $exitoDetalleOrdenCompra and $exitoHistorialProducto and $exitoDetalleMovimiento) { $ruta['ruta'] = "/movimiento/listar"; $this->view->show("ruteador.phtml", $ruta); } } else { $dataDetalleMovimiento = array_splice($_REQUEST, 3, count($_REQUEST) - 8); foreach ($dataDetalleMovimiento as $data) { $cantidad = $data[cantidad]; $idProducto = $data[idproducto]; $dataProducto = $producto->buscaProducto($idProducto); $stockActual = $dataProducto[0]['stockactual']; $stockNuevo = $operacion == '+' ? array('stockactual' => $stockActual + $cantidad) : array('stockactual' => $stockActual - $cantidad); $exitoDetalleMovimiento = $detalleMovimiento->grabaDetalleMovimieto($data); $exitoProducto = $producto->actualizaProducto($stockNuevo, $idProducto); } if ($exitoMovimiento and $exitoDetalleMovimiento and $exitoProducto) { $ruta['ruta'] = "/movimiento/listar"; $this->view->show("ruteador.phtml", $ruta); } } }
function elimina() { $id = $_REQUEST['id']; $ordenCompra = new Ordencompra(); $detalleOrdenCompra = new Detalleordencompra(); $producto = new Producto(); //buscamos sus detalles de la orden de compra que le perntenece para aumentar el stockdisponible $dataDetalle = $detalleOrdenCompra->buscaDetalleOrdenCompra($id); $cantidad = count($dataDetalle); for ($i = 0; $i < $cantidad; $i++) { $cantidadsolicitadaoc = $dataDetalle[$i]['cantidadsolicitadaoc']; $idProducto = $dataDetalle[$i]['idproducto']; $dataProducto = $producto->buscaProducto($idProducto); $stockDisponible = $dataProducto[0]['stockdisponible']; $data['stockdisponible'] = $stockDisponible - $cantidadsolicitadaoc; $exito = $producto->actualizaProducto($data, $idProducto); } $estado = $ordenCompra->eliminaOrdenCompra($id); if ($estado) { $ruta['ruta'] = "/importaciones/ordencompra"; $this->view->show("ruteador.phtml", $ruta); } }
function cantidadStockFisico() { $idProducto = $_REQUEST['id']; $producto = new Producto(); $data = $producto->buscaProducto($idProducto); echo '{"stockDisponible":"' . $data[0]['stockactual'] . '"}'; }