# -*- coding: utf-8 -*-
class Category < ActiveRecord::Base
  set_table_name :category
  has_many :report
  belongs_to :contract
  named_scope :active, :conditions => "category.show = 1", :order => "sort"

  named_scope :for_department, lambda { |dep| dep.present? ? { :conditions => ["category.department = ?", dep] } : { } }
  named_scope :soft, :conditions => "category.department = 'soft' AND category.show = 1"
  named_scope :welders, :conditions => "category.department = 'welder' AND category.show = 1"
  named_scope :underground, :conditions => "category.department = 'underground' AND category.show = 1"
  named_scope :couriers, :conditions => "category.department = 'couriers' AND category.show = 1"
  named_scope :alp, :conditions => "category.department = 'alp' AND category.show = 1"
  named_scope :ams, :conditions => "category.department = 'ams' AND category.show = 1"
  named_scope :mod, :conditions => "category.department = 'mod' AND category.show = 1"
  named_scope :private, :conditions => "category.department = 'private' AND category.show = 1"
  named_scope :corp, :conditions => "category.department = 'corp' AND category.show = 1"
  named_scope :construction, :conditions => "category.department = 'construction' AND category.show = 1"


  def full_name
    department_name + ": " + name
  end

  def self.income_types
    [["месячный абонемент", 125], ["абонентское обслуживание", 124], ["colocation (размещение физического сервера)", 114], ["продажа оборудования", 126], ["За интернет", 78], ["дилеры (loan)", 118], ["телефонная инсталяция", 122], ["Прочий сервис, услуги", 89], ["постоянное подключение (dedicated, ethernet, выделенки)", 90], ["coopeRation установка Dr. Web", 120], ["плата за подключение", 117], ["телефония", 121], ["UUCP", 111]].sort
end

  def self.from_tracker_to_ams(tracker_cat)
    case tracker_cat    
    when 1 # Канальная 
      16
    when 2 # клиентская
      17
    when 3 # Несетевая
      19
    when 4 # плановая модернизация 
      71
    when 5 # модернизация
      71
    when 6 # проблемы на узле 
      31
    when 8 # поставарийная модернизация  ?????
      71
    else
      Category.ams.first.id
    end
  end

  def income_type
    it = Category.income_types.find{|i| i[1] == self.income_id}
    if it 
      it[0]
    else
      ""
    end
  end

  def department_name
    Division.name_for_form(department)
  end

end
