From 070ffb934dc4976bca7f62c26d01e5a69901f7e0 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Mon, 12 Aug 2024 10:59:53 +0200 Subject: [PATCH] xml envios --- ci4/app/Models/Pedidos/PedidoModel.php | 121 +++++++++++++------------ ci4/app/Services/PedidoXMLService.php | 43 ++++----- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/ci4/app/Models/Pedidos/PedidoModel.php b/ci4/app/Models/Pedidos/PedidoModel.php index 7f938a54..37b40e6c 100644 --- a/ci4/app/Models/Pedidos/PedidoModel.php +++ b/ci4/app/Models/Pedidos/PedidoModel.php @@ -31,11 +31,11 @@ class PedidoModel extends \App\Models\BaseModel ]; protected $allowedFields = [ - "total_precio", - "total_tirada", - "estado", - "user_created_id", - "user_updated_id", + "total_precio", + "total_tirada", + "estado", + "user_created_id", + "user_updated_id", "user_validated_id", "fecha_entrega_real", "fecha_impresion", @@ -55,22 +55,25 @@ class PedidoModel extends \App\Models\BaseModel public static $labelField = "id"; - public function obtenerDatosForm($pedido_id){ + public function obtenerDatosForm($pedido_id) + { $builder = $this->db ->table($this->table . " t1") ->select( - "t4.id AS cliente_id, t4.nombre AS cliente, CONCAT(t5.first_name, ' ', t5.last_name) AS comercial"); + "t4.id AS cliente_id, t4.nombre AS cliente, CONCAT(t5.first_name, ' ', t5.last_name) AS comercial" + ); - $builder->join("pedidos_linea t2", "t2.pedido_id = t1.id", "left"); - $builder->join("presupuestos t3", "t2.presupuesto_id = t3.id", "left"); + $builder->join("pedidos_linea t2", "t2.pedido_id = t1.id", "left"); + $builder->join("presupuestos t3", "t2.presupuesto_id = t3.id", "left"); $builder->join("clientes t4", "t4.id = t3.cliente_id", "left"); $builder->join("users t5", "t5.id = t4.comercial_id", "left"); - - + + return $builder->get()->getResultObject(); } - public function obtenerLineasPedido($pedido_id){ + public function obtenerLineasPedido($pedido_id) + { $builder = $this->db ->table($this->table . " t1") ->select( @@ -81,7 +84,7 @@ class PedidoModel extends \App\Models\BaseModel $model_presupuesto = model("App\Models\Presupuestos\PresupuestoModel"); $lineasPresupuesto = []; - foreach($builder->get()->getResultObject() as $row){ + foreach ($builder->get()->getResultObject() as $row) { array_push($lineasPresupuesto, $model_presupuesto->generarLineaPedido($row->presupuesto_id)[0]); } @@ -90,66 +93,66 @@ class PedidoModel extends \App\Models\BaseModel public function getPedidoClientePresupuesto(int $pedido_id) { $query = $this->db->table($this->table) - ->select([ - 'pedidos.id as pedidoId', - 'clientes.nombre as customerName', - 'presupuestos.total_aceptado as totalAceptado', - 'presupuestos.margen', - 'presupuestos.inc_rei', - 'presupuestos.tirada', - 'presupuestos.titulo', - 'presupuestos.paginas', - 'presupuestos.papel_formato_personalizado', - 'presupuestos.papel_formato_ancho as papelAnchoPersonalidado ', - 'presupuestos.papel_formato_alto as papelAltoPersonalidado', - 'lg_papel_formato.ancho as lgPapelFormatoAncho ', - 'lg_papel_formato.alto as lgPapelFormatoAlto', - 'lg_tarifa_acabado.nombre as lgTarifaAcabadoNombre', - ]) - ->join('pedidos_linea','pedidos_linea.id = pedidos.id','left') - ->join('presupuestos','presupuestos.id = pedidos_linea.presupuesto_id','left') - // ->join('presupuesto_linea','presupuestos.id = presupuesto_linea.presupuesto_id','left') - ->join('clientes','clientes.id = presupuestos.cliente_id','left') - ->join('lg_papel_formato','lg_papel_formato.id = presupuestos.papel_formato_id','left') - ->join('lg_tarifa_acabado','lg_tarifa_acabado.id = presupuestos.acabado_cubierta_id','left') + ->select([ + 'pedidos.id as pedidoId', + 'clientes.nombre as customerName', + 'presupuestos.total_aceptado as totalAceptado', + 'presupuestos.margen', + 'presupuestos.inc_rei', + 'presupuestos.tirada', + 'presupuestos.titulo', + 'presupuestos.paginas', + 'presupuestos.papel_formato_personalizado', + 'presupuestos.papel_formato_ancho as papelAnchoPersonalidado ', + 'presupuestos.papel_formato_alto as papelAltoPersonalidado', + 'lg_papel_formato.ancho as lgPapelFormatoAncho ', + 'lg_papel_formato.alto as lgPapelFormatoAlto', + 'lg_tarifa_acabado.nombre as lgTarifaAcabadoNombre', + ]) + ->join('pedidos_linea', 'pedidos_linea.id = pedidos.id', 'left') + ->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id', 'left') + // ->join('presupuesto_linea','presupuestos.id = presupuesto_linea.presupuesto_id','left') + ->join('clientes', 'clientes.id = presupuestos.cliente_id', 'left') + ->join('lg_papel_formato', 'lg_papel_formato.id = presupuestos.papel_formato_id', 'left') + ->join('lg_tarifa_acabado', 'lg_tarifa_acabado.id = presupuestos.acabado_cubierta_id', 'left') - ->where('pedidos.id',$pedido_id); + ->where('pedidos.id', $pedido_id); $cliente_presupuesto = $query->get()->getFirstRow(); return $cliente_presupuesto; } public function getPedidoPresupuestoLineas(int $pedido_id) { $query = $this->db->table($this->table) - ->select([ - 'presupuesto_linea.*', - 'lg_papel_generico.code as papelCode', + ->select([ + 'presupuesto_linea.*', + 'lg_papel_generico.code as papelCode', - ]) - ->join('pedidos_linea','pedidos_linea.id = pedidos.id','left') - ->join('presupuestos','presupuestos.id = pedidos_linea.presupuesto_id','left') - ->join('presupuesto_linea','presupuestos.id = presupuesto_linea.presupuesto_id','left') - ->join('lg_papel_generico','lg_papel_generico.id = presupuesto_linea.papel_id','left') + ]) + ->join('pedidos_linea', 'pedidos_linea.id = pedidos.id', 'left') + ->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id', 'left') + ->join('presupuesto_linea', 'presupuestos.id = presupuesto_linea.presupuesto_id', 'left') + ->join('lg_papel_generico', 'lg_papel_generico.id = presupuesto_linea.papel_id', 'left') - ->where('pedidos.id',$pedido_id); + ->where('pedidos.id', $pedido_id); $pedido_presupuesto_lineas = $query->get()->getResultObject(); return $pedido_presupuesto_lineas; } - public function getPedidoClienteDirecciones($pedido_id){ + public function getPedidoPresupuestoDirecciones($pedido_id) + { $query = $this->db->table($this->table) - ->select([ - 'pedidos.id as pedidoId', - 'clientes.nombre as customerName', - 'cliente_direcciones.*', - 'lg_paises.code3' - ]) - ->join('pedidos_linea','pedidos_linea.id = pedidos.id','left') - ->join('presupuestos','presupuestos.id = pedidos_linea.presupuesto_id','left') - ->join('clientes','clientes.id = presupuestos.cliente_id','left') - ->join('cliente_direcciones','clientes.id = cliente_direcciones.cliente_id','left') - ->join('lg_paises','lg_paises.id = cliente_direcciones.pais_id','left') - ->where('pedidos.id',$pedido_id); + ->select([ + 'clientes.nombre as customerName', + 'presupuesto_direcciones.*', + 'lg_paises.code3' + ]) + ->join('pedidos_linea', 'pedidos_linea.id = pedidos.id', 'left') + ->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id', 'left') + ->join('clientes', 'clientes.id = presupuestos.cliente_id', 'left') + ->join('cliente_direcciones', 'clientes.id = cliente_direcciones.cliente_id', 'left') + ->join('lg_paises', 'lg_paises.id = presupuesto_direcciones.pais_id', 'left') + ->where('pedidos.id', $pedido_id); $pedido_cliente_direcciones = $query->get()->getResultObject(); return $pedido_cliente_direcciones; } -} \ No newline at end of file +} diff --git a/ci4/app/Services/PedidoXMLService.php b/ci4/app/Services/PedidoXMLService.php index 9882a18e..a535ebab 100644 --- a/ci4/app/Services/PedidoXMLService.php +++ b/ci4/app/Services/PedidoXMLService.php @@ -64,13 +64,13 @@ class PedidoXMLService extends BaseService $xml_products_el->appendChild($xml_presupuesto_lineas_el); if ($presupuestoLineaTipoCubierta) { $lgTarifaAcabadoNombre = $data->pedido_presupuesto->lgTarifaAcabadoNombre; - if(str_contains('brillo',$lgTarifaAcabadoNombre)){ + if (str_contains('brillo', $lgTarifaAcabadoNombre)) { $acabado = "brillo"; - }else{ + } else { $acabado = "mate"; } $xmlCover = $xml->createElement('Cover'); - $xmlCover->appendChild($xml->createElement('Sides', $presupuestoLineaTipoCubierta->paginas)); //! PAGINAS CUBIERTA + $xmlCover->appendChild($xml->createElement('Sides', $presupuestoLineaTipoCubierta->paginas / 2)); //! PAGINAS CUBIERTA $xmlCover->appendChild($xml->createElement('Paper', $presupuestoLineaTipoCubierta->papelCode)); //? $xmlCover->appendChild($xml->createElement('Weight', $presupuestoLineaTipoCubierta->gramaje)); $xmlCover->appendChild($xml->createElement('Flaps', $data->pedido_presupuesto->solapas)); @@ -80,38 +80,35 @@ class PedidoXMLService extends BaseService } $xml_services_el = $xml->createElement('Services'); $xml_services_el->appendChild($xml->createElement('Bookmark', $data->pedido_presupuesto->marcapaginas)); + //? Retractilado5 y Retractilado o ambas $xml_services_el->appendChild($xml->createElement('ShrinkWrapping', $data->pedido_presupuesto->retractilado)); //? $xml_services_el->appendChild($xml->createElement('PlakeneT', $data->pedido_presupuesto->plakeneT)); - $xml_services_el->appendChild($xml->createElement('Urgent', $data->pedido_presupuesto->urgent)); + //? $xml_services_el->appendChild($xml->createElement('Urgent', $data->pedido_presupuesto->urgent)); $xml_services_el->appendChild($xml->createElement('Prototype', $data->pedido_presupuesto->prototipo)); - $xml_services_el->appendChild($xml->createElement('Layout', $data->pedido_presupuesto->maquetacion)); - $xml_services_el->appendChild($xml->createElement('Correction', $data->pedido_presupuesto->correccion)); - $xml_services_el->appendChild($xml->createElement('Review', $data->pedido_presupuesto->revision)); - $xml_services_el->appendChild($xml->createElement('Design', $data->pedido_presupuesto->diseno)); + //? $xml_services_el->appendChild($xml->createElement('Layout', $data->pedido_presupuesto->maquetacion)); + //? $xml_services_el->appendChild($xml->createElement('Correction', $data->pedido_presupuesto->correccion)); + //? $xml_services_el->appendChild($xml->createElement('Review', $data->pedido_presupuesto->revision)); + //? $xml_services_el->appendChild($xml->createElement('Design', $data->pedido_presupuesto->diseno)); $xml_products_el->appendChild($xml_services_el); $xml_envios_el = $xml->createElement('Shipments'); - foreach ($data->pedido_cliente_direcciones as $pedido_cliente_direccion) { + foreach ($data->pedido_presupuesto_direcciones as $pedido_presupuesto_direccion) { $xml_envio_el = $xml->createElement('Shipment'); - //! Tirada o cantidad de envios? - $xml_envio_el->appendChild($xml->createElement('Qty', $data->pedido_presupuesto->tirada)); - //! Precio del presupuesto o del envio? - $xml_envio_el->appendChild($xml->createElement('Price', $data->pedido_presupuesto->total_aceptado)); - $xml_envio_el->appendChild($xml->createElement('Attention', $pedido_cliente_direccion->att)); - $xml_envio_el->appendChild($xml->createElement('Email', $pedido_cliente_direccion->email)); - $xml_envio_el->appendChild($xml->createElement('Address', $pedido_cliente_direccion->direccion)); - $xml_envio_el->appendChild($xml->createElement('Province', $pedido_cliente_direccion->provincia)); - $xml_envio_el->appendChild($xml->createElement('City', $pedido_cliente_direccion->ciudad)); - $xml_envio_el->appendChild($xml->createElement('Zip', $pedido_cliente_direccion->cp)); - $xml_envio_el->appendChild($xml->createElement('CountryCode', $pedido_cliente_direccion->code3)); - $xml_envio_el->appendChild($xml->createElement('Telephone', $pedido_cliente_direccion->telefono)); + $xml_envio_el->appendChild($xml->createElement('Qty', $pedido_presupuesto_direccion->cantidad)); + $xml_envio_el->appendChild($xml->createElement('Price', $data->pedido_presupuesto_direccion->precio)); + $xml_envio_el->appendChild($xml->createElement('Attention', $pedido_presupuesto_direccion->att)); + $xml_envio_el->appendChild($xml->createElement('Email', $pedido_presupuesto_direccion->email)); + $xml_envio_el->appendChild($xml->createElement('Address', $pedido_presupuesto_direccion->direccion)); + $xml_envio_el->appendChild($xml->createElement('Province', $pedido_presupuesto_direccion->provincia)); + $xml_envio_el->appendChild($xml->createElement('City', $pedido_presupuesto_direccion->ciudad)); + $xml_envio_el->appendChild($xml->createElement('Zip', $pedido_presupuesto_direccion->cp)); + $xml_envio_el->appendChild($xml->createElement('CountryCode', $pedido_presupuesto_direccion->code3)); + $xml_envio_el->appendChild($xml->createElement('Telephone', $pedido_presupuesto_direccion->telefono)); $xml_envios_el->appendChild($xml_envio_el); - } $xml_products_el->appendChild($xml_envios_el); $xml_products_el->appendChild($xml->createElement('Comments', $data->pedido_presupuesto->comentarios_safekat)); $xml_products_el->appendChild($xml->createElement('CommentsClient', $data->pedido_presupuesto->comentarios_cliente)); - } protected static function get_color_interior($pre_linea): ?string {