function genguiaremi() { if (count($_REQUEST) == 6) { $this->view->show('/facturacion/generacionguiaremision.phtml'); } else { $documento = new Documento(); $ordenVenta = new OrdenVenta(); $dataGuiaRemision = $_REQUEST['GuiaRemision']; $dataGuiaRemision['nombredoc'] = 4; $modelpdf = $this->AutoLoadModel('pdf'); $exitofactura = $modelpdf->listaGuiasEmitidasNoAnuladas($dataGuiaRemision['idordenventa']); if (count($exitofactura) == 0) { //si usamos esto debemos grabar en la orden de venta //$dataOrdenVenta['guiaremision']=1; $idordenventa = $dataGuiaRemision['idordenventa']; $dataOrdenVenta = $_REQUEST['ordenVenta']; $dataOrdenVenta['guiaremision'] = 1; $exito = $ordenVenta->actualizaOrdenVenta($dataOrdenVenta, $idordenventa); if ($exito) { $id = $documento->grabaDocumento($dataGuiaRemision); $movimiento = new Movimiento(); $filtro = " idtipooperacion='1' and idordenventa='" . $idordenventa . "'"; $dataMovimiento = $movimiento->buscaMovimientoxfiltro($filtro); if (!empty($dataMovimiento) and $dataMovimiento[0]['iddocumentotipo'] != 1 and $dataMovimiento[0]['iddocumentotipo'] != 2) { $dataM['iddocumentotipo'] = 4; $dataM['serie'] = $dataGuiaRemision['serie']; $dataM['ndocumento'] = $dataGuiaRemision['numdoc']; $dataM['essunat'] = 1; $exito = $movimiento->actualizaMovimiento($dataM, $filtro); } $this->view->show('/facturacion/generacionguiaremision.phtml'); } } else { $this->view->show('/facturacion/generacionguiaremision.phtml'); } } }
function regOrdenSalida() { if (!$_REQUEST['idOrdenVenta']) { $ordenVenta = new OrdenVenta(); $opciones = new general(); $actorrol = new actorrol(); $url = "/" . $_REQUEST['url']; $data['Despachador'] = $actorrol->actoresxRol(30); $data['Verificador'] = $actorrol->actoresxRol(31); $data['Opcion'] = $opciones->buscaOpcionexurl($url); $data['Modulo'] = $opciones->buscaModulosxurl($url); $data['ordenVenta'] = $ordenVenta->pedidoxaprobar(5); $data['FormaPago'] = $this->formaPago(); $this->view->show("/almacen/regordenpedido.phtml", $data); } else { $id = $_REQUEST['idOrdenVenta']; $dataOrdenVenta = $_REQUEST['Orden']; $ordenVenta = new OrdenVenta(); $exito1 = $ordenVenta->actualizaOrdenVenta($dataOrdenVenta, $id); if ($exito1) { //grabamos las series $detOrden = $this->AutoLoadModel('detalleordenventa'); $detalleOrdenVenta = $_REQUEST['DetalleOrdenVenta']; $cantidad = count($detalleOrdenVenta); for ($i = 0; $i < $cantidad; $i++) { $data['serie'] = $detalleOrdenVenta[$i]['serie']; $exito2 = $detOrden->actualizar($detalleOrdenVenta[$i]['iddetalleordenventa'], $data); } //graba el tiempo que demoro ser confirmado $ordenVentaDuracion = new ordenventaduracion(); $DDA = $ordenVentaDuracion->listaOrdenVentaDuracion($id, "credito"); $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'] = 'indefinido'; } $dataDuracion['referencia'] = 'despacho'; $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/regOrdenSalida"; $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 verificarCobro() { $idOrdenVenta = $_REQUEST['idOrdenVenta']; //$idOrdenVenta=$_REQUEST['id']; $ordencobro = new OrdenCobro(); $ordenventa = new OrdenVenta(); $dataOrdenCobro = $ordencobro->buscaxFiltro("idordenventa='{$idOrdenVenta}' and situacion='Pendiente'"); if (empty($dataOrdenCobro)) { $data['situacion'] = "cancelado"; $data['fechaCancelado'] = date('Y-m-d'); $exito = $ordenventa->actualizaOrdenVenta($data, $idOrdenVenta); echo $exito; } else { $data['situacion'] = "Pendiente"; $data['fechaCancelado'] = null; $exito = $ordenventa->actualizaOrdenVenta($data, $idOrdenVenta); echo $exito; echo $cantidadOrdenCobro; } }
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); } } }