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); } } }
function graba() { $ordenVenta = new OrdenVenta(); $detalleOrdenVenta = new DetalleOrdenVenta(); $cliente = new Actor(); $producto = new producto(); $cliente = $this->AutoLoadModel('cliente'); $clienteVendedor = $this->AutoLoadModel('clientevendedor'); $ordenVentaDuracion = $this->AutoLoadModel('ordenventaduracion'); $dataOrdenVenta = $_REQUEST['OrdenVenta']; $dataOrdenVenta['tipo_letra'] = $_REQUEST['tipoLetra']; $dataOrdenVenta['importeaprobado'] = $dataOrdenVenta['importeov']; $dataOrdenVenta['codigov'] = ""; $dataDetalleOrdenVenta = $_REQUEST['DetalleOrdenVenta']; $exito1 = $ordenVenta->grabar($dataOrdenVenta); //Actualiza saldo de linea de crédito:FERNANDO GARCIA /*$saldo=$dataOrdenVenta['importeov']; $idcliente=$dataOrdenVenta['idclientezona']; $objposicion=New ClientePosicion(); $exito=$objposicion->actualizasaldoPosicion($saldo,$idcliente); print_r($dataOrdenVenta);*/ //$exito2=$cliente->ActualizaActor(array('transporte'=>$dataOrdenVenta['idtransporte']),$dataOrdenVenta['idcliente']); if ($exito1) { $codigov = strtoupper($ordenVenta->generaCodigo()); $dataOrden['codigov'] = $codigov; $exitoA = $ordenVenta->actualizaOrdenVenta($dataOrden, $exito1); $dataCliente['idultimaorden'] = $exito1; $exitoc = $cliente->actualizaCliente($dataCliente, "idcliente='" . $dataOrdenVenta['idcliente'] . "'"); $dataCV = $clienteVendedor->buscarxid($dataOrdenVenta['idcliente']); if (!empty($dataCV)) { $dataClienteVendedor['idvendedor'] = $dataOrdenVenta['idvendedor']; $exitocv = $clienteVendedor->actualizaClienteVendedor($dataOrdenVenta['idcliente'], $dataClienteVendedor); } foreach ($dataDetalleOrdenVenta as $data) { $data['idordenventa'] = $exito1; $exito3 = $detalleOrdenVenta->graba($data); //descontamos el stock disponible $idProducto = $data['idproducto']; $dataBusqueda = $producto->buscaProducto($idProducto); $stockdisponibleA = $dataBusqueda[0]['stockdisponible']; $data2['stockdisponible'] = $stockdisponibleA - $data['cantsolicitada']; $exitoP = $producto->actualizaProducto($data2, $idProducto); } $dataDuracion['idordenventa'] = $exito1; $dataDuracion['tiempo'] = strtotime(0); $dataDuracion['referencia'] = 'creacion'; $exito4 = $ordenVentaDuracion->grabaOrdenVentaDuracion($dataDuracion); if ($exito3) { /** * Se modifica esta seccion a pedido del cliente por cuestiones de negocio. */ //$ruta['ruta']="/ventas/creaguiaped"; if ($_SESSION['idrol'] == 25) { $ruta['ruta'] = "/vendedor/misordenes"; $this->view->show("ruteador.phtml", $ruta); } else { $ruta['ruta'] = "/ventas/creaguiaped/" . $codigov; $this->view->show("ruteador.phtml", $ruta); } } } }
function listaProductosGuiaRemision() { $idGuia = $_REQUEST['id']; $detalleOrdenVenta = new DetalleOrdenVenta(); $data = $detalleOrdenVenta->listaDetalleOrdenVenta($idGuia); $unidadMedida = $this->unidadMedida(); for ($i = 0; $i < count($data); $i++) { echo "<tr>"; echo '<td>' . ($i + 1) . '</td>'; echo '<td>' . $data[$i]['codigov'] . '</td>'; echo '<td>' . $data[$i]['nompro'] . '</td>'; echo '<td>' . $unidadMedida[$data[$i]['unidadmedida']] . '</td>'; echo '<td>' . $data[$i]['cantdespacho'] . '</td>'; echo "</tr>"; } }