diff --git a/src/siu/sq/lib/daos/dao_comprobantes.php b/src/siu/sq/lib/daos/dao_comprobantes.php index 6eb594cf38dacd832b7aa6c527d1fee53af67a6f..500dd1e265a4ccc4fca80a3a80441f4c05dafa2d 100644 --- a/src/siu/sq/lib/daos/dao_comprobantes.php +++ b/src/siu/sq/lib/daos/dao_comprobantes.php @@ -6,29 +6,40 @@ use SIU\SQ\Lib\errores\error_negocio; class dao_comprobantes extends dao { - function get_lista($filtro = [], $order_by = "ORDER BY id", $limit = "") - { - $where = ""; - if(isset($filtro['id'])) { - $where .= " AND id = " . $this->quote($filtro['id']); - } - if(isset($filtro['id_comprobante_template'])) { - $where .= " AND id_comprobante_template = " . $this->quote($filtro['id_comprobante_template']); - } - if(isset($filtro['id_punto_cobranza'])) { + public function get_lista($filtro = [], $order_by = "ORDER BY id", $limit = "") + { + $where = ""; + if (isset($filtro['id'])) { + $where .= " AND id = " . $this->quote($filtro['id']); + } + if (isset($filtro['id_comprobante_template'])) { + $where .= " AND id_comprobante_template = " . $this->quote($filtro['id_comprobante_template']); + } + if (isset($filtro['id_punto_cobranza'])) { $where .= " AND id_punto_cobranza = " . $this->quote($filtro['id_punto_cobranza']); } - if(isset($filtro['estado'])) { - $where .= " AND estado = " . $this->quote($filtro['estado']); - } - if(isset($filtro['numero_comprobante'])) { - $where .= " AND numero_comprobante = " . $this->quote($filtro['numero_comprobante']); - } - if(isset($filtro['id_comprobante_relacionado'])) { - $where .= " AND id_comprobante_relacionado = " . $this->quote($filtro['id_comprobante_relacionado']); - } + if (isset($filtro['estado'])) { + $where .= " AND estado = " . $this->quote($filtro['estado']); + } + if (isset($filtro['numero_comprobante'])) { + $where .= " AND numero_comprobante = " . $this->quote($filtro['numero_comprobante']); + } - $sql = "SELECT + $venta_info_personalizada = "(SELECT vip.datos FROM ventas_info_personalizada vip + JOIN cobranzas_ventas cv ON cv.id_venta = vip.id_venta + JOIN cobranzas c ON cv.id_cobranza = c.id AND c.id_comprobante = comp.id + ) as ventas_info_personalizada"; + + if (isset($filtro['id_comprobante_relacionado'])) { + $where .= " AND id_comprobante_relacionado = " . $this->quote($filtro['id_comprobante_relacionado']); + + $venta_info_personalizada = "(SELECT vip.datos FROM ventas_info_personalizada vip + JOIN cobranzas_ventas cv ON cv.id_venta = vip.id_venta + JOIN cobranzas c ON cv.id_cobranza = c.id AND c.id_comprobante = comp.id_comprobante_relacionado + ) as ventas_info_personalizada"; + } + + $sql = "SELECT comp.id, comp.id_comprobante_template, comp.presentacion, @@ -40,16 +51,13 @@ class dao_comprobantes extends dao comp.estado, comp.estado_actualizado_en, comp.id_punto_cobranza, - (SELECT vip.datos FROM ventas_info_personalizada vip - JOIN cobranzas_ventas cv ON cv.id_venta = vip.id_venta - JOIN cobranzas c ON cv.id_cobranza = c.id AND c.id_comprobante = comp.id - ) as ventas_info_personalizada + $venta_info_personalizada FROM comprobantes comp WHERE 1=1 $where $order_by $limit;"; - return $this->entorno()->db()->consultar($sql); - } + return $this->entorno()->db()->consultar($sql); + } function get($id) {