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; } }