Пример #1
0
 function confirmar()
 {
     $id = $_REQUEST['idOrdenCompra'];
     $dataOrdenCompra = $_REQUEST['OrdenCompra'];
     $dataOrdenCompraDetalle = $_REQUEST['Detalleordencompra'];
     //echo '<pre>';
     //print_r($dataOrdenCompraDetalle);
     //exit;
     $dataOrdenCompra['valorizado'] = 1;
     if ($_REQUEST['conformidad'] != 'on') {
         $dataOrdenCompra['vbimportaciones'] = 0;
     }
     if ($_REQUEST['registrado'] == 1) {
         $detalleMovimiento = $this->AutoLoadModel('detallemovimiento');
         $dataproducto = $_REQUEST['Producto'];
     }
     $totalDOC = count($dataOrdenCompraDetalle);
     $ordenCompra = new Ordencompra();
     $detalleOrdenCompra = new Detalleordencompra();
     $producto = new Producto();
     $historialProducto = new Historialproducto();
     $exito1 = $ordenCompra->actualizaOrdenCompra($dataOrdenCompra, $id);
     for ($i = 1; $i <= $totalDOC; $i++) {
         //Actualizando el DetalleOrdenCompra
         $idDOC = $dataOrdenCompraDetalle[$i]['iddetalleordencompra'];
         $ddoci = $dataOrdenCompraDetalle[$i];
         $exito_doc = $detalleOrdenCompra->actualizaDetalleOrdenCompra($ddoci, $idDOC);
         $idProducto = $dataOrdenCompraDetalle[$i]['idproducto'];
         if ($_REQUEST['registrado'] == 1) {
             $tcv = $ordenCompra->TipoCambioxIdOrdenCompra($id);
             $tipocambio = $tcv[0]['tipocambiovigente'];
             $filtro = "m.idordencompra='{$id}' and dm.idproducto='{$idProducto}' ";
             $dataMovimiento = $detalleMovimiento->buscaDetalleMovimientoxFiltro($filtro);
             $iddetallemovimiento = $dataMovimiento[0]['iddetallemovimiento'];
             $precioCosto = $dataOrdenCompraDetalle[$i]['cifunitario'] * $tipocambio;
             $cantidadRecibida = $dataOrdenCompraDetalle[$i]['cantidadrecibidaoc'];
             $stockactual = $dataMovimiento[0]['stockactual'] - $dataMovimiento[0]['cantidad'];
             $precioactual = $dataproducto[$i]['preciocosto'];
             $stockproducto = $stockactual + $cantidadRecibida;
             $preciovalorizado = ($precioCosto * $cantidadRecibida + $stockactual * $precioactual) / $stockproducto;
             $preciovalorizado = round($preciovalorizado, 2);
             $ddm['preciovalorizado'] = $preciovalorizado;
             $ddm['pu'] = $precioCosto;
             $datop['preciocosto'] = $preciovalorizado;
             $exitoM = $detalleMovimiento->actualizaDetalleMovimientoxid($iddetallemovimiento, $ddm);
         }
         $datop['fob'] = $dataOrdenCompraDetalle[$i]['fobdoc'];
         $exitoP = $producto->actualizaProducto($datop, $idProducto);
         // $preciocosto=$dataOrdenCompraDetalle[$i]['totalunitario'];
         // $idproducto=$dataOrdenCompraDetalle[$i]['idproducto'];
         // $cantidad=$dataOrdenCompraDetalle[$i]['cantidadsolicitadaoc'];
         // $dp=$producto->buscaProducto($idproducto);//Data producto
         // $psv=(($dp[0]['stockactual']*$dp[0]['preciocosto'])+($cantidad*$precioCosto))/($dp[0]['stockactual']+$cantidad);//Precio de stock valorizado
         // /*Datos de la tabla producto*/
         // $dp1['preciocosto']=$precioCosto;
         // $dp1['fob']=$dataOrdenCompraDetalle[$i]['fobdoc'];
         // $dp1['cif']=$dataOrdenCompraDetalle[$i]['cifunitario'];
         // $dp1['precioreferencia01']=($psv*1.10);
         // //Datos para Historial producto
         // $dhp['idproducto']=$idproducto;
         // $dhp['preciofob']=$dataOrdenCompraDetalle[$i]['fobdoc'];
         // $dhp['hpreciocosto']=$precioCosto;
         // $dhp['preciostockvalorizado']=$psv;
         // $exito2=$producto->actualizaProducto($dp1,$idproducto);
         // $exito3=$historialProducto->grabaHistorialProducto($dhp);
     }
     if ($exito_doc and $exito1) {
         $ruta['ruta'] = "/importaciones/ordencompra";
         $this->view->show('ruteador.phtml', $ruta);
     }
 }