Sha256: 2499e8cfe1b5f5aa620a0cfa99586b2ef8743ea09b04cfdd4d8749544be0094e

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

# encoding: utf-8

# ESTA CLASE GENERA UN NUMERO PARA ARMAR PAREJAS DE LAMINADOS
# PARA QUE SEA MAS FACIL LA IDENTIFICACION DE LOS MISMOS
# EN LUGAR DE FIJARSE EN UNA MEDIDA 1234*876
# SE VA A GENERAR UN NUMERO DEL 1 A N 
# Y TMB 23-2 SIGNIFICA QUE LA MEDIDA 23 TIENE DOS VIDRIOS O LAMINADOS


class GeneradorOrden
  def initialize(traz_lam)
    @componente = traz_lam.componente
    @linea_item = traz_lam.linea_item
    @pedido = @linea_item.item.pedido
    @composicion = traz_lam.composicion
  end

  def get
    contador_medida = 1
    # asigna el primer nĂºmero
    @pedido.items.order(:id).map(&:item_medidas).flatten.each do |im|
      break if im == @linea_item
      contador_medida += 1
    end


    return contador_medida.to_s unless @composicion.es_dvh?

    array = []
    @composicion.get_vidrios.each do |componente|
      laminado_elementos = componente.elementos.sort{ |a,b| a.orden <=> b.orden }.map(&:elemento_de_componente).flatten
      array << {componente: componente, elementos: laminado_elementos}
    end

    return contador_medida.to_s if array.map{|a| a[:elementos]}.uniq.length == 1

    contador_componente = 1
    array.map{ |a| a[:componente] }.each do |comp|
      break if comp == @componente
      contador_componente += 1
    end


    "#{contador_medida}/#{contador_componente.to_s36}"

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spf_barcode-0.0.14 lib/generador_orden.rb