#encoding:utf-8
class QrcodeController < AdminBaseController
  def shipping_box_scan
    File.open("/tmp/qrcode_scan.txt", "a") do |f|
      f.puts "#{Time.now} : #{current_user.true_name} shipping_box_scan(#{params[:qrcode].length}):#{params[:qrcode]}"
    end
    render js: "Logistics.show_scan_error('Params invalid!');" and return if params[:qrcode].blank?

    @info = params[:qrcode].strip.split(",").collect { |word| word.strip }
    render js: "Logistics.show_scan_error('箱标签格式无效 ! 数据:#{@info.inspect}')" and return if @info.size != 5
    render js: "Logistics.show_scan_error('箱标签数据无效 !')" and return if @info.any? { |item| item.blank? }

    @order_number = @info[0]
    @materiel_number = @info[1]
    @lot_number = @info[2]
    @qty_number = @info[3].to_i
    @box_number = @info[4]

    @shipping_box = ShippingBox.where(po: @order_number, lot_no: @lot_number, part_no: @materiel_number, box_id: @box_number).first
    @order = Order.where(sn: @order_number).first
    @materiel = Materiel.where(sn: @materiel_number).first

    @error_message = ""
    if @qty_number <= 0
      @error_message = @error_message + "<br/>装箱数量不正确!"
    end
    if @order.blank?
      @error_message = @error_message + "<br/>系统中未查询到相关的订单! 订单号: #{@order_number}"
    end
    if @materiel.blank?
      @error_message = @error_message + "<br/>系统中未查询到相关的物料编码! 物料编码: #{@materiel_number}"
    end
  end

end
