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 confirmar() { $id = $_REQUEST['idOrdenCompra']; $dataOrdenCompra = $_REQUEST['OrdenCompra']; $dataOrdenCompraDetalle = $_REQUEST['Detalleordencompra']; //echo '<pre>'; //print_r($dataOrdenCompraDetalle); //exit; $dataOrdenCompra['valorizado'] = 1; if ($_REQUEST['conformidad'] != 'on') { $dataOrdenCompra['vbimportaciones'] = 0; } if ($_REQUEST['registrado'] == 1) { $detalleMovimiento = $this->AutoLoadModel('detallemovimiento'); $dataproducto = $_REQUEST['Producto']; } $totalDOC = count($dataOrdenCompraDetalle); $ordenCompra = new Ordencompra(); $detalleOrdenCompra = new Detalleordencompra(); $producto = new Producto(); $historialProducto = new Historialproducto(); $exito1 = $ordenCompra->actualizaOrdenCompra($dataOrdenCompra, $id); for ($i = 1; $i <= $totalDOC; $i++) { //Actualizando el DetalleOrdenCompra $idDOC = $dataOrdenCompraDetalle[$i]['iddetalleordencompra']; $ddoci = $dataOrdenCompraDetalle[$i]; $exito_doc = $detalleOrdenCompra->actualizaDetalleOrdenCompra($ddoci, $idDOC); $idProducto = $dataOrdenCompraDetalle[$i]['idproducto']; if ($_REQUEST['registrado'] == 1) { $tcv = $ordenCompra->TipoCambioxIdOrdenCompra($id); $tipocambio = $tcv[0]['tipocambiovigente']; $filtro = "m.idordencompra='{$id}' and dm.idproducto='{$idProducto}' "; $dataMovimiento = $detalleMovimiento->buscaDetalleMovimientoxFiltro($filtro); $iddetallemovimiento = $dataMovimiento[0]['iddetallemovimiento']; $precioCosto = $dataOrdenCompraDetalle[$i]['cifunitario'] * $tipocambio; $cantidadRecibida = $dataOrdenCompraDetalle[$i]['cantidadrecibidaoc']; $stockactual = $dataMovimiento[0]['stockactual'] - $dataMovimiento[0]['cantidad']; $precioactual = $dataproducto[$i]['preciocosto']; $stockproducto = $stockactual + $cantidadRecibida; $preciovalorizado = ($precioCosto * $cantidadRecibida + $stockactual * $precioactual) / $stockproducto; $preciovalorizado = round($preciovalorizado, 2); $ddm['preciovalorizado'] = $preciovalorizado; $ddm['pu'] = $precioCosto; $datop['preciocosto'] = $preciovalorizado; $exitoM = $detalleMovimiento->actualizaDetalleMovimientoxid($iddetallemovimiento, $ddm); } $datop['fob'] = $dataOrdenCompraDetalle[$i]['fobdoc']; $exitoP = $producto->actualizaProducto($datop, $idProducto); // $preciocosto=$dataOrdenCompraDetalle[$i]['totalunitario']; // $idproducto=$dataOrdenCompraDetalle[$i]['idproducto']; // $cantidad=$dataOrdenCompraDetalle[$i]['cantidadsolicitadaoc']; // $dp=$producto->buscaProducto($idproducto);//Data producto // $psv=(($dp[0]['stockactual']*$dp[0]['preciocosto'])+($cantidad*$precioCosto))/($dp[0]['stockactual']+$cantidad);//Precio de stock valorizado // /*Datos de la tabla producto*/ // $dp1['preciocosto']=$precioCosto; // $dp1['fob']=$dataOrdenCompraDetalle[$i]['fobdoc']; // $dp1['cif']=$dataOrdenCompraDetalle[$i]['cifunitario']; // $dp1['precioreferencia01']=($psv*1.10); // //Datos para Historial producto // $dhp['idproducto']=$idproducto; // $dhp['preciofob']=$dataOrdenCompraDetalle[$i]['fobdoc']; // $dhp['hpreciocosto']=$precioCosto; // $dhp['preciostockvalorizado']=$psv; // $exito2=$producto->actualizaProducto($dp1,$idproducto); // $exito3=$historialProducto->grabaHistorialProducto($dhp); } if ($exito_doc and $exito1) { $ruta['ruta'] = "/importaciones/ordencompra"; $this->view->show('ruteador.phtml', $ruta); } }
function confirmaOrden() { if (!$_REQUEST['idOrdenVenta']) { $ordenVenta = new OrdenVenta(); $opciones = new general(); $url = "/" . $_REQUEST['url']; $data['Opcion'] = $opciones->buscaOpcionexurl($url); $data['Modulo'] = $opciones->buscaModulosxurl($url); $data['ordenVenta'] = $ordenVenta->pedidoxaprobar(4); $data['FormaPago'] = $this->formaPago(); $this->view->show("/almacen/confirmaorden.phtml", $data); } else { $id = $_REQUEST['idOrdenVenta']; $estadoOrden = $_REQUEST['estadoOrden']; $dataOrdenVenta = $_REQUEST['Orden']; $dataDetalleOrdenVenta = $_REQUEST['DetalleOrdenVenta']; $productos = $_REQUEST['Producto']; $ordenVenta = new OrdenVenta(); $detalleOrdenVenta = new DetalleOrdenVenta(); $producto = new Producto(); $dataOrdenVenta['vbalmacen'] = $estadoOrden == 1 ? 1 : 2; if ($dataOrdenVenta['vbalmacen'] == 2) { $dataOrdenVenta['desaprobado'] = 1; } $exito1 = $ordenVenta->actualizaOrdenVenta($dataOrdenVenta, $id); $cont = 0; if ($exito1) { foreach ($dataDetalleOrdenVenta as $data) { if ($dataOrdenVenta['vbalmacen'] == 2 || $data['estado'] == 0) { //buscamos producto $idproducto = $productos[$cont]['idproducto']; $dataProducto = $producto->buscaProductoxId($idproducto); $stockdisponibleA = $dataProducto[0]['stockdisponible']; $stockdisponibleN = $stockdisponibleA + $productos[$cont]['cantaprobada']; $dataNuevo['stockdisponible'] = $stockdisponibleN; //actualizamos es stockdisponible $exitoP = $producto->actualizaProducto($dataNuevo, $idproducto); } elseif ($data['estado'] == 1) { //buscamos producto $idproducto = $productos[$cont]['idproducto']; $dataProducto = $producto->buscaProductoxId($idproducto); $stockdisponibleA = $dataProducto[0]['stockdisponible']; $stockdisponibleN = $stockdisponibleA + $productos[$cont]['cantaprobada'] - $data['cantdespacho']; $dataNuevo['stockdisponible'] = $stockdisponibleN; //actualizamos es stockdisponible $exitoP = $producto->actualizaProducto($dataNuevo, $idproducto); } $exito2 = $detalleOrdenVenta->actualizar($data['iddetalleordenventa'], $data); $cont++; } if ($exito2) { //graba el tiempo que demoro ser confirmado $ordenVentaDuracion = new ordenventaduracion(); $DDA = $ordenVentaDuracion->listaOrdenVentaDuracion($id, "cobranza"); $dataDuracion['idordenventa'] = $id; $intervalo = $this->date_diff(date('Y-m-d H:i:s', strtotime($DDA[0]['fechacreacion'])), date('Y-m-d H:i:s')); $dataDuracion['tiempo'] = $intervalo; if (empty($DDA[0]['fechacreacion'])) { $dataDuracion['tiempo'] = 'indifinido'; } $dataDuracion['referencia'] = 'almacen'; $exitoN = $ordenVentaDuracion->grabaOrdenVentaDuracion($dataDuracion); //actualiza ordenventa su duracion total $DDAT = $ordenVentaDuracion->listaOrdenVentaDuracion($id, "creacion"); $fechaInicio = $DDAT[0]['fechacreacion']; if (empty($fechaInicio)) { $dt = $ordenVenta->buscaOrdenVenta($id); $fechaInicio = $dt[0]['fechacreacion']; } $intervalo2 = $this->date_diff(date('Y-m-d H:i:s', strtotime($fechaInicio)), date('Y-m-d H:i:s')); $DOV['tiempoduracion'] = $intervalo2; $exitoN2 = $ordenVenta->actualizaOrdenVenta($DOV, $id); $ruta['ruta'] = "/almacen/confirmaorden"; $this->view->show("ruteador.phtml", $ruta); } } } }
function actualiza() { $id = $_REQUEST['idProducto']; $data = $_REQUEST['Producto']; if (count($_FILES)) { $data['imagen'] = $_FILES['foto']['name']; } $producto = new Producto(); $this->guardaImagenesFormulario($data['codigopa']); $exito = $producto->actualizaProducto($data, $id); /*print_r($_FILES); echo '<pre>'; print_r($data); echo 'exito= '.$exito .'</br>'; echo $id; echo exit; */ if ($exito) { $ruta['ruta'] = "/producto/lista/"; $this->view->show("ruteador.phtml", $ruta); } }
function autorizarventa() { if (!$_REQUEST['idOrdenVenta']) { $ordenVenta = new OrdenVenta(); $opciones = new general(); $url = "/" . $_REQUEST['url']; $data['Opcion'] = $opciones->buscaOpcionexurl($url); $data['Modulo'] = $opciones->buscaModulosxurl($url); $data['ordenVenta'] = $ordenVenta->pedidoxaprobar(); $data['FormaPago'] = $this->formaPago(); $this->view->show("ventas/aprobarpedido.phtml", $data); } else { $id = $_REQUEST['idOrdenVenta']; $ordenVenta = new OrdenVenta(); if ($id != '' && $id != 0) { $dataBusqueda = $ordenVenta->buscarOrdenVentaxId($id); } if ($dataBusqueda[0]['vbventas'] != 1) { $estadoOrden = $_REQUEST['estadoOrden']; $dataOrdenVenta = $_REQUEST['Orden']; $dataDetalleOrdenVenta = $_REQUEST['DetalleOrdenVenta']; $detalleOrdenVenta = new DetalleOrdenVenta(); $producto = new Producto(); $dataOrdenVenta['vbventas'] = $estadoOrden == 1 ? 1 : 2; if ($dataOrdenVenta['vbventas'] == 2) { $dataOrdenVenta['desaprobado'] = 1; } $productos = $_REQUEST['Producto']; $exito1 = $ordenVenta->actualizaOrdenVenta($dataOrdenVenta, $id); $cont = 0; if ($exito1) { foreach ($dataDetalleOrdenVenta as $data) { if ($dataOrdenVenta['vbventas'] == 2 || $data['estado'] == 0) { //buscamos producto $idproducto = $productos[$cont]['idproducto']; $dataProducto = $producto->buscaProductoxId($idproducto); $stockdisponibleA = $dataProducto[0]['stockdisponible']; $stockdisponibleN = $stockdisponibleA + $productos[$cont]['cantsolicitada']; $dataNuevo['stockdisponible'] = $stockdisponibleN; //actualizamos es stockdisponible $exitoP = $producto->actualizaProducto($dataNuevo, $idproducto); } elseif ($data['estado'] == 1 && $dataOrdenVenta['vbventas'] == 1) { //buscamos producto $idproducto = $productos[$cont]['idproducto']; $dataProducto = $producto->buscaProductoxId($idproducto); $stockdisponibleA = $dataProducto[0]['stockdisponible']; $stockdisponibleN = $stockdisponibleA + $productos[$cont]['cantsolicitada'] - $data['cantaprobada']; $dataNuevo['stockdisponible'] = $stockdisponibleN; //actualizamos es stockdisponible $exitoP = $producto->actualizaProducto($dataNuevo, $idproducto); } $exito2 = $detalleOrdenVenta->actualizar($data['iddetalleordenventa'], $data); $cont++; } if ($exito2) { $ordenVentaDuracion = new ordenventaduracion(); $DDA = $ordenVentaDuracion->listaOrdenVentaDuracion($id, "creacion"); $dataDuracion['idordenventa'] = $id; $intervalo = $this->date_diff(date('Y-m-d H:i:s', strtotime($DDA[0]['fechacreacion'])), date('Y-m-d H:i:s')); $dataDuracion['tiempo'] = $intervalo; $dataDuracion['referencia'] = 'ventas'; if (empty($DDA[0]['fechacreacion'])) { $dataDuracion['tiempo'] = 'indefinido'; } $exito3 = $ordenVentaDuracion->grabaOrdenVentaDuracion($dataDuracion); $ruta['ruta'] = "/ventas/autorizarventa"; $this->view->show("ruteador.phtml", $ruta); //$date3=date('Y-m-d H:i:s'); //$intervalo=$this->date_diff($date3,'2013-01-23 15:30:00'); } } } else { $ruta['ruta'] = "/ventas/autorizarventa"; $this->view->show("ruteador.phtml", $ruta); } } }
function aprobarPedido() { if (!isset($_REQUEST['idOrden'])) { $orden = new OrdenVenta(); $data['ordenVenta'] = $orden->pedidoxaprobar(2); $data['FormaPago'] = $this->formaPago(); $this->view->show("cobranza/aprobarpedido.phtml", $data); } else { $id = $_REQUEST['idOrden']; $estadoOrden = $_REQUEST['estadoOrden']; $dataOrdenVenta = $_REQUEST['Orden']; $ordenVenta = new OrdenVenta(); $producto = new Producto(); $dataOrdenVenta['vbcobranzas'] = $estadoOrden; if ($estadoOrden == 2) { $dataOrdenVenta['desaprobado'] = 1; } $productos = $_REQUEST['Producto']; $cantidadProducto = count($productos); $exito1 = $ordenVenta->actualizaOrdenVenta($dataOrdenVenta, $id); if ($exito1) { if ($estadoOrden == 2) { for ($i = 0; $i < $cantidadProducto; $i++) { //buscamos producto $idproducto = $productos[$i]['idproducto']; $dataProducto = $producto->buscaProductoxId($idproducto); $stockdisponibleA = $dataProducto[0]['stockdisponible']; $stockdisponibleN = $stockdisponibleA + $productos[$i]['cantaprobada']; $dataNuevo['stockdisponible'] = $stockdisponibleN; //actualizamos es stockdisponible $exitoP = $producto->actualizaProducto($dataNuevo, $idproducto); } } $ordenVentaDuracion = new ordenventaduracion(); $DDA = $ordenVentaDuracion->listaOrdenVentaDuracion($id, "ventas"); $dataDuracion['idordenventa'] = $id; $intervalo = $this->date_diff(date('Y-m-d H:i:s', strtotime($DDA[0]['fechacreacion'])), date('Y-m-d H:i:s')); $dataDuracion['tiempo'] = $intervalo; $dataDuracion['referencia'] = 'cobranza'; if (empty($DDA[0]['fechacreacion'])) { $dataDuracion['tiempo'] = 'indefinido'; } $exito3 = $ordenVentaDuracion->grabaOrdenVentaDuracion($dataDuracion); $ruta['ruta'] = "/cobranza/aprobarpedido"; $this->view->show("ruteador.phtml", $ruta); } } }