예제 #1
0
 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);
         }
     }
 }
예제 #2
0
 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);
         }
     }
 }
예제 #3
0
 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);
         }
     }
 }