public function additemAction()
 {
     try {
         $SesionUsuarioPlugin = $this->SesionUsuarioPlugin();
         $SesionUsuarioPlugin->isLoginClienteVendedor();
         //Controla el inicio de sesion
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $PedidoBO = new PedidoBO();
         $PedidoBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $body = $this->getRequest()->getContent();
         $json = json_decode($body, true);
         //Se establecen los paremetros para realizar el AddItem
         $usuario_id = $SesionUsuarioPlugin->getClienteUsuarioId();
         $vendedor_usuario_id = $SesionUsuarioPlugin->getVendedorUsuarioId();
         $cliente_id = $SesionUsuarioPlugin->getUserClienteId();
         $marcacion_sec = $SesionUsuarioPlugin->getClienteSeleccionMarcacionSec();
         $agencia_carga_id = $SesionUsuarioPlugin->getClienteSeleccionAgenciaId();
         $pedido_cab_id = $SesionUsuarioPlugin->getClientePedidoCabIdActual();
         $usuario_calidad_id = $SesionUsuarioPlugin->getUserCalidadId();
         //$marcacion_punto_corte = $SesionUsuarioPlugin->getClienteSeleccionMarcacionPuntoCorte();
         $marcacion_punto_corte = $SesionUsuarioPlugin->getUserPuntoCorte();
         $producto_id = $json['producto_id'];
         $variedad_id = $json['variedad_id'];
         $grado_id = $json['grado_id'];
         $tallos_x_bunch = $json['tallos_x_bunch'];
         $tipo_caja_id = $json['tipo_caja_id'];
         $cantidad_order = $json['cantidad_order'];
         $flag_oferta = false;
         //CONFIGURACION ADICIONAL
         $PedidoBO->setCalidadId($usuario_calidad_id);
         //Setea clasifica al PedidoBO (Calidad de la Flor)
         $PedidoBO->setPuntoCorte($marcacion_punto_corte);
         //Setea el punto de corte del Pedido
         //Se obtiene la bandera de oferta y el hueso
         if (!empty($json['hueso_variedad_id'])) {
             $flag_oferta = true;
             $hueso_producto_id = $json['hueso_producto_id'];
             //NUEVO
             $hueso_variedad_id = $json['hueso_variedad_id'];
             $hueso_grado_id = $json['hueso_grado_id'];
             $hueso_tallos_x_bunch = $json['tallos_x_bunch'];
             //NUEVO
             $hueso_tipo_caja_id = $json['hueso_tipo_caja_id'];
             $hueso_cantidad_order = $json['hueso_cantidad_order'];
         }
         //end if
         //Se verifica que el pedido_cab_id sea valido en la base de datos, en caso de no serlo se inicializa a CERO
         $reg_cabecera = $PedidoBO->consultarPedidoCabecera($pedido_cab_id);
         if (empty($reg_cabecera)) {
             $SesionUsuarioPlugin->setClientePedidoCabIdActual(0);
             $pedido_cab_id = $SesionUsuarioPlugin->getClientePedidoCabIdActual();
         }
         //end if
         //Se invoca la llamada
         if ($flag_oferta == false) {
             $result = $PedidoBO->addItem($pedido_cab_id, $cliente_id, $usuario_id, $vendedor_usuario_id, $marcacion_sec, $agencia_carga_id, $producto_id, $variedad_id, $grado_id, $tallos_x_bunch, $tipo_caja_id, $cantidad_order);
         } else {
             list($result, $result_hueso) = $PedidoBO->addItemOferta($pedido_cab_id, $cliente_id, $usuario_id, $vendedor_usuario_id, $marcacion_sec, $agencia_carga_id, $producto_id, $variedad_id, $grado_id, $tallos_x_bunch, $tipo_caja_id, $cantidad_order, $hueso_producto_id, $hueso_variedad_id, $hueso_grado_id, $hueso_tallos_x_bunch, $hueso_tipo_caja_id, $hueso_cantidad_order);
         }
         //end if
         $response = new \stdClass();
         $response->respuesta_code = 'OK';
         //Se forza a responder OK, para que pueda ir por el evento finish de la LIBRERIA AJAX
         $response->respuesta_codex = $result['respuesta_code'];
         //Se utiliza esta variable para no lo controle la LIBRERIA AJAX LAS NOVEDADES
         if ($result['respuesta_code'] == 'OK') {
             $response->pedido_cab_id = $result['pedido_cab_id'];
             $response->pedido_cab_sec = $result['pedido_cab_sec'];
             $response->respuesta_mensaje = $cantidad_order . ' Box ' . $result['variedad_nombre'] . ' ' . $grado_id . ' cm was added.';
             if (empty($pedido_cab_id)) {
                 $SesionUsuarioPlugin->setClientePedidoCabIdActual($result['pedido_cab_id']);
             }
             //end if
         } else {
             $response->respuesta_mensaje = $result['respuesta_msg'];
         }
         //end if
         $json = new JsonModel(get_object_vars($response));
         return $json;
     } catch (\Exception $e) {
         $excepcion_msg = utf8_encode($this->ExcepcionPlugin()->getMessageFormat($e));
         $response = $this->getResponse();
         $response->setStatusCode(500);
         $response->setContent($excepcion_msg);
         return $response;
     }
 }