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 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); } } }