busqueda opcion más barata de la tarifa enc añadida

This commit is contained in:
2023-11-22 20:06:20 +01:00
parent 1d0681847a
commit ec2f217c79
7 changed files with 47 additions and 6 deletions

View File

@ -46,7 +46,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
public function initPresupuesto($id_presupuesto,$tipoPresupuesto, $solapas){
public function initPresupuesto($id_presupuesto,$tipoPresupuesto, $solapas, $tirada, $paginas){
$model = model('App\Models\Presupuestos\TipoPresupuestoTarifaEncuadernacionModel');
$tarifas_ids = $model->get_tarifas($tipo_presupuesto,$solapas);

View File

@ -112,4 +112,39 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel
}
public function getTarifaPresupuestoEncuadernacion($tarifa_id, $paginas, $tirada, $ancho, $alto, $proveedor_id=-1){
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id AS tarifa_enc_id, t1.nombre AS tarifa_enc_nombre, t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS tarifa_importe_fijo,
t2.id AS tarifa_tirada_id, t2.proveedor_id AS proveedor_id, t5.nombre AS proveedor_nombre, t2.tirada_min AS tirada_min, t2.tirada_max AS tirada_max,
t3.id AS tarifa_linea_id, t3.paginas_libro_min AS paginas_min, t3.paginas_libro_max AS paginas_max, t3.precio_min AS precio_min, t3.precio_max AS precio_max, t3.margen AS margen,
t4.ancho_min AS ancho_min, t4.ancho_max AS ancho_max, t4.alto_min AS alto_min, t4.alto_max AS alto_max"
)
->join("tarifa_encuadernacion_tiradas t2", "t1.id = t2.tarifa_encuadernacion_id", "left")
->join("tarifa_encuadernacion_lineas t3", "t2.id = t3.tirada_encuadernacion_id", "left")
->join("tarifa_encuadernacion_dimensiones t4", "t3.dimensiones_id = t4.id", "left")
->join("lg_proveedores t5", "t2.proveedor_id = t5.id", "left")
->where("t1.is_deleted", 0)
->where("t1.mostrar_en_presupuesto", 1)
->where("t2.is_deleted", 0)
->where("t3.is_deleted", 0);
$builder->where('t1.id =', $tarifa_id);
$builder->where('t2.tirada_min <=', $tirada);
$builder->where('t2.tirada_max >', $tirada);
$builder->where('t3.paginas_libro_min <=', $paginas);
$builder->where('t3.paginas_libro_max >', $paginas);
$builder->where('t4.ancho_min <=', $ancho);
$builder->where('t4.ancho_max >', $ancho);
$builder->where('t4.alto_min <=', $alto);
$builder->where('t4.alto_max >', $alto);
if($proveedor_id != -1){
$builder->where('t2.proveedor_id', $proveedor_id);
}
return $builder->get()->getResultObject();
}
}