alejandrotecnimaq

inclinacion_luxometros_cableados

Nov 10th, 2020 (edited)
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.02 KB | None | 0 0
  1. AJUSTE_POR_DEFECTO = {
  2.   'hori' => 329,
  3.   'vert' => 234,
  4.   'alta' => 20,
  5.   'gain' => 1,
  6.   'ecuacion' => 'x',
  7.   'A0' => 0.5601496,
  8.   'A1' => -0.00650881,
  9.   'A2' => 4.161336e-05,
  10.   'A3' => -1.499023e-07,
  11.   'A4' => 2.184775e-10,
  12.   'E' => 1,
  13. }
  14.  
  15. Equipo.where(tipo_equipo_id: TipoEquipo.select(:id).activos.where("nombre LIKE 'Alineador de luces%'").map(&:id)).each do |e|
  16.   next unless e.otra_informacion['protocolo'].blank? || e.otra_informacion['protocolo'].downcase == 'tecnimaq'
  17.  
  18.   ajuste = e.valores_ajuste || {}
  19.  
  20.   next if ajuste['p+6y']
  21.  
  22.   p5 = ajuste.delete('p+5')
  23.   ajuste.delete('dist_i')
  24.  
  25.   new_ajuste = {}
  26.   AJUSTE_POR_DEFECTO.each do |key, value|
  27.     new_ajuste[key] = ajuste[key] || value
  28.   end
  29.  
  30.   new_ajuste['p+6y'] = p5 ? p5 : [10, new_ajuste['vert'] + 60].max
  31.   new_ajuste['p+6x'] = [470, new_ajuste['hori'] + 60].min
  32.   new_ajuste['p-6y'] = [10, 2 * new_ajuste['vert'] - new_ajuste['p+6y']].max
  33.   new_ajuste['p-6x'] = [10, new_ajuste['hori'] - 60].max
  34.  
  35.   e.ajuste = new_ajuste.to_json
  36.   e.save
  37. end
  38.  
Advertisement
Add Comment
Please, Sign In to add comment