null, "presupuesto_id" => null, "tipo" => null, "paginas" => 0, "paginas_impresion" => 0, //guardas "paginas_color_posicion" => null, "solapas_ancho" => 0.0, "papel_id" => null, "papel_impresion_id" => null, "formas" => null, "gramaje" => null, "pliegos_libro" => null, "pliegos_pedido" => null, "pliegos_precio" => null, "libro" => null, "pedido" => null, "mano" => null, "peso" => null, "maquina_id" => null, "tarifa_impresion_id" => null, "click" => null, "precio" => null, "total_papel_pedido" => null, "margen_papel_pedido" => null, "margen_impresion" => null, "rotativa_impresion" => null, "rotativa_pag_color" => 0, "rotativa_set_values" => false, "rotativa_negro" => 0.0, "rotativa_cyan" => 0.0, "rotativa_magenta" => 0.0, "rotativa_amarillo" => 0.0, "rotativa_gota_negro" => 0.0, "rotativa_gota_color" => 0.0, "rotativa_saturacion" => 100.0, "rotativa_a_favor_fibra" => true, "rotativa_mxm" => null, "rotativa_area_paginas" => null, "rotativa_num_gotas_negro" => 0, "rotativa_num_gotas_cyan" => 0, "rotativa_num_gotas_magenta" => 0, "rotativa_num_gotas_amarillo" => 0, "rotativa_peso_gotas_negro" => 0, "rotativa_peso_gotas_cyan" => 0, "rotativa_peso_gotas_magenta" => 0, "rotativa_peso_gotas_amarillo" => 0, "rotativa_precio_pag_negro" => null, "rotativa_precio_pag_color" => null, "rotativa_factor_altura" => null, "rotativa_factor_anchura" => null, "rotativa_pag_por_pliego" => null, "rotativa_metros_libro" => null, "rotativa_metros_total" => null, "rotativa_clicks_libro" => null, "rotativa_clicks_total" => null, "rotativa_precio_tinta" => null, "rotativa_total_impresion" => null, "rotativa_velocidad_corte" => 0, "rotativa_tiempo_corte" => 0, "rotativa_precio_hora_corte" => 0, "rotativa_total_corte" => 0, "check_impresion_total" => false, "check_papel_total" => false, "maquina" => null, "papel_impresion" => null, "maquina_tipo" => 'toner', "horas_maquina" => 0, "precio_hora" => 0, "precio_impresion" => 0, "total_linea" => 0, ]; protected $casts = [ "presupuesto_id" => "int", "paginas" => "int", "paginas_impresion" => "int", // guardas "solapas_ancho" => "float", "papel_id" => "?int", "papel_impresion_id" => "?int", "gramaje" => "?float", "pliegos_libro" => "?float", "pliegos_pedido" => "?float", "pliegos_precio" => "?float", "libro" => "?float", "pedido" => "?float", "mano" => "?float", "peso" => "?float", "maquina_id" => "?int", "tarifa_impresion_id" => "?int", "click" => "?float", "precio" => "?float", "total_papel_pedido" => "?float", "margen_papel_pedido" => "?float", "margen_impresion" => "?float", "rotativa_pag_color" => "int", "rotativa_set_values" => "boolean", "rotativa_negro" => "float", "rotativa_cyan" => "float", "rotativa_magenta" => "float", "rotativa_amarillo" => "float", "rotativa_gota_negro" => "float", "rotativa_gota_color" => "float", "rotativa_saturacion" => "float", "rotativa_a_favor_fibra" => "boolean", "rotativa_mxm" => "?float", "rotativa_area_paginas" => "float", "rotativa_num_gotas_negro" => "float", "rotativa_num_gotas_cyan" => "float", "rotativa_num_gotas_magenta" => "float", "rotativa_num_gotas_amarillo" => "float", "rotativa_peso_gotas_negro" => "float", "rotativa_peso_gotas_cyan" => "float", "rotativa_peso_gotas_magenta" => "float", "rotativa_peso_gotas_amarillo" => "float", "rotativa_precio_pag_negro" => "float", "rotativa_precio_pag_color" => "float", "rotativa_factor_altura" => "float", "rotativa_factor_anchura" => "float", "rotativa_pag_por_pliego" => "float", "rotativa_metros_libro" => "float", "rotativa_metros_total" => "float", "rotativa_clicks_libro" => "float", "rotativa_clicks_total" => "float", "rotativa_precio_tinta" => "float", "rotativa_total_impresion" => "float", "rotativa_velocidad_corte" => "float", "rotativa_tiempo_corte" => "float", "rotativa_precio_hora_corte" => "float", "rotativa_total_corte" => "float", "check_impresion_total" => "boolean", "check_papel_total" => "boolean", "horas_maquina" => "double", "precio_hora" => "double", "precio_impresion" => "double", "total_linea" => "double", ]; /** * Devuelve la entity MaquinaEntity asociada a esta linea de presupuesto * * @return MaquinaEntity */ public function maquina(): MaquinaEntity { $m = model(MaquinaModel::class); return $m->find($this->attributes["maquina_id"]); } /** * Devuelve la entity PapelImpresion asociada a esta linea de presupuesto. * * @return PapelImpresion */ public function papel_impresion(): PapelImpresion { $m = model(PapelImpresionModel::class); return $m->find($this->attributes['papel_impresion_id']); } /** * Devuelve la entity PapelGenerico asociada a esta linea de presupuesto. * * @return PapelGenerico */ public function papel_generico(): PapelGenerico { $m = model(PapelGenericoModel::class); return $m->find($this->attributes['papel_id']); } /** * Devuelve la entity MaquinasTarifasImpresionEntity asociada a esta linea de presupuesto. * * @return MaquinasTarifasImpresionEntity */ public function tarifa_impresion(): MaquinasTarifasImpresionEntity { $m = model(MaquinasTarifasImpresionModel::class); return $m->find($this->attributes['tarifa_impresion_id']); } public function get_impresion_logo(){ $logo = config(LogoImpresion::class); return $logo->get_logo_path($this->attributes["tipo"]); } public function get_nombre_tarea() : ?string { $nombre = null; $impresion_bn = ["lp_bn","lp_bnhq","lp_rot_bn"]; $impresion_color = ["lp_color","lp_colorhq","lp_rot_color"]; $impresion_cubierta = ["lp_cubierta"]; $impresion_guardas = ["lp_guardas"]; $impresion_sobrecubierta = ["lp_sobrecubierta"]; $is_bn = in_array($this->attributes["tipo"],$impresion_bn); $is_color = in_array($this->attributes["tipo"],$impresion_color); $is_impresion_cubierta = in_array($this->attributes["tipo"],$impresion_cubierta); $is_impresion_guarda = in_array($this->attributes["tipo"],$impresion_guardas); $is_impresion_sobrecubierta = in_array($this->attributes["tipo"],$impresion_sobrecubierta); if($is_bn) $nombre ="Impresión B/N"; if($is_color) $nombre ="Impresión color"; if($is_impresion_cubierta) $nombre ="Impresión cubierta"; if($is_impresion_guarda) $nombre ="Impresión guarda"; if($is_impresion_sobrecubierta) $nombre ="Impresión sobrecubierta"; return $nombre; } public function isRotativa() : bool { return in_array($this->attributes['tipo'],['lp_rot_color','lp_rot_bn']); } }