コード例 #1
0
 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);
             }
         }
     }
 }
コード例 #2
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);
         }
     }
 }