[ "label" => "PresupuestoLineas.click", "rules" => "decimal|permit_empty", ], "formas" => [ "label" => "PresupuestoLineas.formas", "rules" => "trim|max_length[16313]", ], "gramaje" => [ "label" => "PresupuestoLineas.gramaje", "rules" => "decimal|permit_empty", ], "libro" => [ "label" => "PresupuestoLineas.libro", "rules" => "decimal|permit_empty", ], "mano" => [ "label" => "PresupuestoLineas.mano", "rules" => "decimal|permit_empty", ], "paginas" => [ "label" => "PresupuestoLineas.paginas", "rules" => "required|integer", ], "paginas_color_posicion" => [ "label" => "PresupuestoLineas.paginasColorPosicion", "rules" => "trim|max_length[16313]", ], "pedido" => [ "label" => "PresupuestoLineas.pedido", "rules" => "decimal|permit_empty", ], "peso" => [ "label" => "PresupuestoLineas.peso", "rules" => "decimal|permit_empty", ], "pliegos_libro" => [ "label" => "PresupuestoLineas.pliegosLibro", "rules" => "decimal|permit_empty", ], "pliegos_pedido" => [ "label" => "PresupuestoLineas.pliegosPedido", "rules" => "decimal|permit_empty", ], "pliegos_precio" => [ "label" => "PresupuestoLineas.pliegosPrecio", "rules" => "decimal|permit_empty", ], "precio" => [ "label" => "PresupuestoLineas.precio", "rules" => "decimal|permit_empty", ], "rotativa_amarillo" => [ "label" => "PresupuestoLineas.rotativaAmarillo", "rules" => "required|decimal", ], "rotativa_area_paginas" => [ "label" => "PresupuestoLineas.rotativaAreaPaginas", "rules" => "required|decimal", ], "rotativa_clicks_libro" => [ "label" => "PresupuestoLineas.rotativaClicksLibro", "rules" => "required|decimal", ], "rotativa_clicks_total" => [ "label" => "PresupuestoLineas.rotativaClicksTotal", "rules" => "required|decimal", ], "rotativa_cyan" => [ "label" => "PresupuestoLineas.rotativaCyan", "rules" => "required|decimal", ], "rotativa_factor_altura" => [ "label" => "PresupuestoLineas.rotativaFactorAltura", "rules" => "required|decimal", ], "rotativa_factor_anchura" => [ "label" => "PresupuestoLineas.rotativaFactorAnchura", "rules" => "required|decimal", ], "rotativa_gota_color" => [ "label" => "PresupuestoLineas.rotativaGotaColor", "rules" => "required|decimal", ], "rotativa_gota_negro" => [ "label" => "PresupuestoLineas.rotativaGotaNegro", "rules" => "required|decimal", ], "rotativa_impresion" => [ "label" => "PresupuestoLineas.rotativaImpresion", "rules" => "required|in_list[negro,color]", ], "rotativa_magenta" => [ "label" => "PresupuestoLineas.rotativaMagenta", "rules" => "required|decimal", ], "rotativa_metros_libro" => [ "label" => "PresupuestoLineas.rotativaMetrosLibro", "rules" => "required|decimal", ], "rotativa_metros_total" => [ "label" => "PresupuestoLineas.rotativaMetrosTotal", "rules" => "required|decimal", ], "rotativa_mxm" => [ "label" => "PresupuestoLineas.rotativaMxm", "rules" => "decimal|permit_empty", ], "rotativa_negro" => [ "label" => "PresupuestoLineas.rotativaNegro", "rules" => "required|decimal", ], "rotativa_num_gotas_amarillo" => [ "label" => "PresupuestoLineas.rotativaNumGotasAmarillo", "rules" => "required|decimal", ], "rotativa_num_gotas_cyan" => [ "label" => "PresupuestoLineas.rotativaNumGotasCyan", "rules" => "required|decimal", ], "rotativa_num_gotas_magenta" => [ "label" => "PresupuestoLineas.rotativaNumGotasMagenta", "rules" => "required|decimal", ], "rotativa_num_gotas_negro" => [ "label" => "PresupuestoLineas.rotativaNumGotasNegro", "rules" => "required|decimal", ], "rotativa_pag_color" => [ "label" => "PresupuestoLineas.rotativaPagColor", "rules" => "required|integer", ], "rotativa_pag_por_pliego" => [ "label" => "PresupuestoLineas.rotativaPagPorPliego", "rules" => "required|decimal", ], "rotativa_peso_gotas_amarillo" => [ "label" => "PresupuestoLineas.rotativaPesoGotasAmarillo", "rules" => "required|decimal", ], "rotativa_peso_gotas_cyan" => [ "label" => "PresupuestoLineas.rotativaPesoGotasCyan", "rules" => "required|decimal", ], "rotativa_peso_gotas_magenta" => [ "label" => "PresupuestoLineas.rotativaPesoGotasMagenta", "rules" => "required|decimal", ], "rotativa_peso_gotas_negro" => [ "label" => "PresupuestoLineas.rotativaPesoGotasNegro", "rules" => "required|decimal", ], "rotativa_precio_hora_corte" => [ "label" => "PresupuestoLineas.rotativaPrecioHoraCorte", "rules" => "required|decimal", ], "rotativa_precio_pag_color" => [ "label" => "PresupuestoLineas.rotativaPrecioPagColor", "rules" => "required|decimal", ], "rotativa_precio_pag_negro" => [ "label" => "PresupuestoLineas.rotativaPrecioPagNegro", "rules" => "required|decimal", ], "rotativa_precio_tinta" => [ "label" => "PresupuestoLineas.rotativaPrecioTinta", "rules" => "required|decimal", ], "rotativa_saturacion" => [ "label" => "PresupuestoLineas.rotativaSaturacion", "rules" => "required|decimal", ], "rotativa_tiempo_corte" => [ "label" => "PresupuestoLineas.rotativaTiempoCorte", "rules" => "required|decimal", ], "rotativa_total_corte" => [ "label" => "PresupuestoLineas.rotativaTotalCorte", "rules" => "required|decimal", ], "rotativa_total_impresion" => [ "label" => "PresupuestoLineas.rotativaTotalImpresion", "rules" => "required|decimal", ], "rotativa_velocidad_corte" => [ "label" => "PresupuestoLineas.rotativaVelocidadCorte", "rules" => "required|decimal", ], "solapas_ancho" => [ "label" => "PresupuestoLineas.solapasAncho", "rules" => "required|decimal", ], "tipo" => [ "label" => "PresupuestoLineas.tipo", "rules" => "required|in_list[bn,bnhq,color,colorhq,cubierta,sobrecubierta,rot_bn,rot_color]", ], ]; public function findAllWithAllRelations(string $selcols = "*", int $limit = null, int $offset = 0) { $sql = "SELECT t1." . $selcols . ", t2.id AS presupuesto, t3.nombre AS papel, t4.nombre AS papel_impresion, t5.nombre AS maquina, t6.tipo AS tarifa_impresion FROM " . $this->table . " t1 LEFT JOIN presupuestos t2 ON t1.presupuesto_id = t2.id LEFT JOIN lg_papel_generico t3 ON t1.papel_id = t3.id LEFT JOIN lg_papel_impresion t4 ON t1.papel_impresion_id = t4.id LEFT JOIN lg_maquinas t5 ON t1.maquina_id = t5.id LEFT JOIN lg_maquinas_tarifas_impresion t6 ON t1.tarifa_impresion_id = t6.id"; if (!is_null($limit) && intval($limit) > 0) { $sql .= " LIMIT " . intval($limit); } if (!is_null($offset) && intval($offset) > 0) { $sql .= " OFFSET " . intval($offset); } $query = $this->db->query($sql); $result = $query->getResultObject(); return $result; } public function createForPresupuesto($presupuesto_id){ $tipos = ['bn','bnhq','color','colorhq','cubierta','sobrecubierta','rot_bn','rot_color']; foreach($tipos as $tipo){ $builder = $this->db ->table($this->table . " t1"); $data = [ 'presupuesto_id' => $presupuesto_id, 'tipo' => $tipo, ]; $builder->insert($data); } } public function getLineasPresupuesto($presupuesto_id = -1) { $builder = $this->db ->table($this->table . " t1") ->select( "*" ) ->where("t1.presupuesto_id", $presupuesto_id) ->where("t1.isActiva", 1); return $builder->orderBy("t1.id", "asc")->get()->getResultObject(); } public function updateLineasPresupuesto($presupuesto_id = -1, $datos=[]) { foreach($datos as $linea){ $this->db ->table($this->table . " t1") ->where("t1.presupuesto_id", $presupuesto_id) ->where("t1.tipo", $linea["tipo"]) ->update($linea); } } }