class TorgApi::Api::Contractor
Контрагент
Constants
- DECODE_STATUS_ORDER
- STATUS_ORDER
Порядок сортировки по значению поля status enum status: { orig: 0, active: 1, old: 2, inactive: 3 }
- STATUS_ORDER_NUMS
Attributes
@return [Integer] Вид контрагента (0-ИП, 1-юр. лицо, 2-иностран., 3-физ. лицо)
@return [String] Полное наименование
@return [Integer] id контрагента
@return [String] ИНН
@return [Boolean] ДЗО?
@return [Boolean] Резидент?
@return [Boolean] Субъект малого и среднего предпринимательства?
@return [Integer] Форма акционерного общества
@return [String] КПП
@return [String] Юридический адрес
@return [String] Наименование
@return [String] ОГРН
@return [String] ОКПО
@return [String] ОКТМО
@return [String] Форма собственности
@return [String] Дата регистрации юр. лица
@return [Integer] Малое или среднее предпринимательство
@return [Integer] Статус записи(0-новая, 1-активная, 2-старая, 3-неактивная)
@return [Integer] ИД автора
Public Class Methods
Создаёт контрагента @param hash [Hash] хэш ответа веб-сервиса B2B @param user [Integer] id автора @return Contractor
# File lib/torg_api/api/contractor.rb, line 77 def create_from_b2b(hash) c = Contractor.new c.name = hash[:org_name_short].gsub('"','') c.fullname = hash[:org_name] c.inn = hash[:bank_inn] c.kpp = hash[:bank_kpp] c.ogrn = hash[:ogrn] c.okpo = hash[:code_okpo] c.ownership = extract_ownership(hash[:org_name_short]) c.status = 0 c.form = extract_form(hash[:bank_inn]) c.legal_addr = hash[:jury_address] c.user_id = Settings.service_user[:id] c.is_resident = extract_resident(hash[:country]) c.is_dzo = nil c.is_sme = hash[:is_smb] c.jsc_form_id = nil c.sme_type_id = nil c.oktmo = 0 responce = JSON.parse( torg_resource["contractors"].post( contractor: c.to_h, accept: :json, content_type: :json, format: :json ), symbolize_names: true ) c.id = responce[:id] c end
# File lib/torg_api/api/contractor.rb, line 114 def extract_form(bank_inn) case bank_inn.size when 12 then "businessman" when 10 then "company" else "foreign" end end
# File lib/torg_api/api/contractor.rb, line 110 def extract_ownership(org_name_short) org_name_short[/^([\w\-]+)/] end
# File lib/torg_api/api/contractor.rb, line 122 def extract_resident(country) country == 643 end
Поиск id контрагентов по ИНН @param inn [String] ИНН @return [Integer Массив id найденных контрагентов отсортированных по статусу и дате изменения
# File lib/torg_api/api/contractor.rb, line 58 def find_by_inn(inn, kpp = nil) responce = JSON.parse( torg_resource["contractors/find_by_inn"].get( params: { inn: inn, kpp: kpp }, accept: :json, content_type: :json, format: :json ), symbolize_names: true, quirks_mode: true ) responce && new(responce) end