Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 104 Next »

Версия формата миграции: 2.7.3

Миграция из других АСР делается через промежуточный набор таблиц в формате CSV.

  • Кодировка UTF-8 без BOM
  • Разделитель полей — точка с запятой
  • Значения полей обрамляются кавычками (в том числе пустые значения представляются пустыми кавычками (;"";)
  • В первой строке указываются названия полей таблицы
  • Первичные ключи (поля ID) и внешние ключи (поля *_ID) должны быть числовыми

Пример:

"ID";"STATUS_ID";"LOGIN";"JUR";"NAME";"ADDR";"PASSPORT";"W_PHONE";"H_PHONE";"M_PHONE";"EMAIL"
"12";"1";"example";"0";"Шварценгольд Виктор Робертович";"Москва г, Большой Сергиевский пер.,8,1,2,53,";"";"";"9101234567";"9031234567";""

Далее с помощью специального инструмента CSV-файлы загружаются в АСР «Гидра» , где происходит сопоставление справочников и выполняется собственно миграция данных.

Упрощения и допущения

  1. Юридические и физические лица находятся в одной таблице и отличаются только по специальному признаку.
  2. Из реквизитов юридического лица выгружается только его название, остальное требует ручного ввода (таблицу при необходимости можно дополнить полями с реквизитами).
  3. Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, но дата окончания текущего периода мигрирует.
  4. Особенности оказания услуг (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а переносятся вручную и затем сопоставляются.

Выгрузка из старой АСР

Первичный ключ в каждой таблице всегда называется ID. Если необходимо, то к каждой таблице можно добавить поле для комментария (с названием REM), в которое будут выгружаться полезные текстовые данные.

Для полей с типом «Дата и время» используется следующий формат: 26.04.2009 13:04:55 (Oracle: DD.MM.YYYY HH24:MI:SS). Для полей только с датой или только с временем нужно использовать 26.04.2009 и 13:04:55 соответственно.

Таблицы сопоставлений, обязательные для выгрузки

В этом разделе указаны таблицы, данные из которых не мигрируются, а служат для сопоставления значений в приложении «Миграция» в мигрируемой системе с состояниями абонентов в Гидре.

Справочник состояний абонента

Таблица STATUS

Поле

Описание

ID

ID состояния

NAME

Наименование состояния

В простейшем случае в справочнике всего два состояния (включен, отключен).

Справочник услуг и тарифных планов

Таблица SERVICES

ID

ID услуги (тарифного плана)

NAME

Наименование услуги (ТП)

TYPE

Признак тарифного плана (если Y, то ТП; если N, то услуга)

UNIT_ID

ID единицы измерения*

Примечание: значения данного справочника не мигрируют, а сопоставляются с Номенклатурой.

Справочник сетевых служб

Таблица NS_LIST

ID

ID сетевой службы

NAME

Название сетевой службы

Примечание: этот справочник формируется вручную и состоит из перечня сетевых служб, для доступа к которым абоненту нужен логин и пароль: RADIUS, личный кабинет, телефония, почта и т.п.

Справочник единиц измерения

Таблица UNITS_LIST

ID

ID единицы измерения

NAME

Название единицы измерения

Примечание: значения сопоставляются со справочником единиц измерения в Гидре.

Справочник валют

Таблица CURRENCY

ID

ID валюты

NAME

Наименование валюты

Примечание: значения сопоставляются со справочником единиц измерения в Гидре.

Справочник типов оборудования

Таблица EQUIP_TYPE

ID

ID типа

NAME

Название оборудования

Примечание: значения сопоставляются с позициями номенклатуры, как правило из раздела Активное оборудование.

Справочник абонентских групп

Таблица GROUPS

ID

ID группы

NAME

Название группы

Примечание: значения сопоставляются со справочником групп. Если в вашей системе нет групп, то имеет смысл всё равно добавить значения в этот справочник и привязать всех абонентов к группам в зависимости от их категории, например, Физические лица, Юридические лица, Сотрудники и т.п.

Справочник банков

Таблица BANKS

ID

ID банка

NAME

Название банка

Примечание: значения сопоставляются со справочником банков. Соответственно банки, которые встречаются в выгрузке нужно ввести в Гидру вручную.

Справочник типов счетов

Таблица ACC_TYPES

ID

ID типа счета

NAME

Тип счета

Примечание: значения сопоставляются со справочником типов счетов

Справочник типов удостоверений личности

Таблица AUTH_DOC_TYPES

ID

ID типа документа

NAME

Тип документа

Примечание: значения сопоставляются со справочником типов документов - удостоверений личности

Необязательные таблицы сопоставлений

При выставлении корректных управляющих значений по умолчанию, таблицы из этого раздела выгружать не обязательно.

Справочник видов телефонов

Таблица PHONE_TYPES

ID

ID вида привязки телефона

NAME

Вид привязки (Мобильный, Домашний, Рабочий итд)

Примечание: значения сопоставляются со справочником видов адресов

Справочник видов привязки фактических адресов

Таблица FACT_ADDR_BIND_TYPES

ID

ID вида привязки фактического адреса

NAME

Вид привязки (Фактический, Адрес обслуживания итд)

Примечание: значения сопоставляются со справочником видов адресов

Типы платежей

Таблица PAYMENT_TYPE

ID

ID типа платежа

NAME

Наименование типа платежа

VIRTUAL

Флаг. 'Y' если корректировка

Примечание: справочник служит для разделения платежей по разным видам (исправление ошибки, наличные, безналичные банк, ОСМП, Visa, Webmoney и тп), тип используется для удобства построения отчётов.

Таблицы с данными для миграции

Данные из следующих таблиц используются при миграции для создания сущностей соответствующего вида.

Справочник абонентов

Таблица USERS

ПолеОписаниеПримечание

ID

ID абонента

 

STATUS_ID

ID состояния абонента

Ссылка на STATUS.ID
BASE_IDID базового СУСсылка на USERS.ID базового СУ. Обычно выгружается пустым для автоматического формирования привязок

LOGIN

Код абонента

Уникальное краткое наименование, идентифицирующее абонента

JUR

Физическое или юридическое лицо (0 — физ. лицо, 1 — юр. лицо)

 

NAME

ФИО (физ. лица) / Наименование (юр. лица)

 

ADDR

Домашний адрес. Формат адреса абонента:
<Город>,<Улица>,<Дом>,<Подъезд>,<Этаж>,<Квартира>,<Код домофона>

Если каких-то данных нет, то оставляйте пустые запятые, например, Самара г., Пролетарская ул.,5,,,78,5к234
Номер дома может быть дополнен номером корпуса: Самара г., Пролетарская ул.,5 корп. 7,,,78,5к234
ADDR_REMПримечание к адресу субъекта 

AUTH_DOC_TYPE_ID

Тип документа - удостоверения личности

Ссылка на AUTH_DOC_TYPES.ID

AUTH_DOC_SERIAL

Серия документа

 

AUTH_DOC_NO

Номер документа

 

AUTH_DOC_DATE

Дата выдачи документа

Формат DD.MM.YYYY

AUTH_DOC_ISSUE

Кем/где выдан

 
D_BIRTHДата рожденияФормат DD.MM.YYYY
BIRTH_PLACEМесто рождения 

INN

ИНН

 

OPF

Организационно-правовая форма, например ИП, ООО

ОПФ не сопоставляются. Значение из справочника ОПФ подбирается по совпадению наименования

W_PHONE

Рабочий телефон в формате E.164

 

H_PHONE

Контактный домашний телефон в формате E.164

 

M_PHONE

Контактный мобильный телефон в формате E.164

 

EMAIL

Контактный email

 

FIRM_ID

ID филиала

Ссылка на FIRMS.ID. Используется только при миграции с учетом многофилиальности

Примечание: список атрибутов для личных данных абонента может быть расширен по необходимости.

Справочник лицевых счетов

Таблица ACCOUNTS

ПолеОписаниеПримечание

ID

ID лицевого счёта

 

USER_ID

ID абонента

Ссылка на USERS.ID

ACC_NUM

Номер счёта

 

ACC_TYPE_ID

ID типа счета (ЛС, РС итд)

Ссылка на ACC_TYPES.ID

CUR_ID

ID валюты

Ссылка на CURRENCY.ID (если в системе только российский рубль, можно не указывать)

BANK_ID

ID банка

Ссылка на BANKS.ID (для лицевых счетов - оставлять пустым)

BALANCE

Баланс счёта

 

CREDIT

Текущий кредит абонента

 

CREDIT_END_DATE

Дата окончания кредитного лимита

 

BALANCE_DATE

Дата, на которую рассчитан баланс

DD.MM.YYYY HH24:MI:SS

Нужно учитывать, что все платежи из PAYMENTS, которые пришли позже, чем дата указанная здесь, будут добавляться к балансу указанному в ACCOUNTS.BALANCE.

Привязки абонента к сетевым службам

Таблица NETSERV

ПолеОписаниеПримечание

ID

ID привязки

 

USER_ID

ID абонента

Ссылка на USERS.ID

NS_ID

ID сетевой службы

Ссылка на NS_LIST.ID

EQUIP_ID

ID абонентского оборудования

Ссылка на EQUIP.ID

LOGIN

Логин

 

PASSWORD

Пароль

 

PASS_TYPE

Тип шифрования пароля (md5 итд). Оставлять пустым для plaintext

Типы шифрования не сопоставляются. Значение из справочника подбирается исходя из совпадения наименования

Примечание: в эту таблицу выгружаются логины и пароли на VPN, на личный кабинет, SIP-аккаунт и на другие ресурсы, которые контролирует биллинг. При этом в целях безопасности пароли при тестовых выгрузках нужно заменять на звёздочки или случайные строки. Настоящие пароли будут выгружаться всего один раз, при окончательной миграции.

Участие абонентов в группах

Таблица GROUPLINK

ПолеОписаниеПримечание

ID

ID записи об участии

 

USER_ID

ID абонента

Ссылка на USERS.ID

GROUP_ID

ID группы

Ссылка на GROUPS.ID

MAIN

Признак основной группы - 'Y'

Используется для выделения основной группы при привязке абонента к нескольким группам. Основная группа должна быть одна.

Примечание: если в системе, откуда производится выгрузка, нет понятия групп, то желательно хотя бы разделить всех выгружаемых абонентов на три группы: юридические лица, физические лица и сотрудники. То есть добавьте эти три группы в таблицу GROUPS и укажите к ним привязку (определите кому какую группу добавлять по своим критериям во время выгрузки).

Подписка абонентов на услуги

Таблица SUBSCR

ПолеОписаниеПримечание

ID

ID подписки

 

ACC_ID

ID лицевого счёта

Ссылка на ACCOUNTS.ID

CONTRACT_ID

ID договора

Ссылка на CONTRACTS.ID

TARIFF_ID

ID услуги (тарифного плана)

Ссылка на SERVICES.ID

EQUIP_ID

ID абонентского оборудования

Ссылка на EQUIP.ID

D_BEGIN

Дата начала подписки

Дата, когда абонент выбрал новый тарифный план/услугу для смены

D_END

Дата окончания подписки

Оставлять пустым, если это последний выбранный тариф

QUANT

Заказанное количество услуги

Для тарифных планов - оставлять пустым

PAY_DAY

Расчетный день

Для плавающего расчетного дня оставлять пустым

Примечание: выгружаются услуги и тарифный план на следующий период. Если у вас фиксированный расчётный день, привязанный к 1 числу месяца, то выгружайте PAY_DAY = 1 (обычно для юридических лиц).

Операторское оборудование

Таблица OP_EQUIP

ПолеОписаниеПримечание

ID

ID оборудования

 

EQUIP_TYPE_ID

ID типа оборудования

Ссылка на EQUIP_TYPE.ID

CODE

Код оборудования

 

IP

IP-адрес для управления

 

FIRM_ID

ID филиала

Ссылка на FIRMS.ID. Используется только при миграции с учетом многофилиальности

Примечание: Таблица используется для корректных привязок к уже загруженному в систему операторскому оборудованию. При запуске секции миграции операторского оборудования будут проставлены сопоставления исходя из выгруженных данных.

Оконечное оборудование абонентов

Таблица EQUIP

ПолеОписаниеПримечание

ID

ID оборудования

 

USER_ID

ID абонента

Ссылка на USERS.ID

EQUIP_TYPE_ID

ID типа абонентского оборудования

Ссылка на EQUIP_TYPE.ID

Оставлять пустым для компонентов служб с единственным типом спецификации

В случае пустого значения для самостоятельного активного оборудования используется тип, задаваемый на форме значений по умолчанию

OP_EQUIP_ID

ID операторского оборудования

Ссылка на OP_EQUIP.ID

OP_EQUIP_PORT

Порт операторского оборудования

 
OP_EQUIP_PORT_TYPEКод типа порта операторского оборудованияЗначение сопоставляется по коду, поскольку архитектурно в системе одинаковые типы портов различного оборудования являются различными сущностями
NS_IDID сетевой службы для управления оборудованиемСсылка на NS_LIST.ID. Обычно не используется - оставлять пустым

CODE

Код оборудования

Краткое наименование, идентифицирующее оборудование

MAC

Физический адрес (MAC)

 

IP

IP-адрес

 

MASK

Маска IP-адреса

 

PHONE

Абонентский телефонный номер в формате E.164

 

ADDR

Адрес обслуживания

Адрес выгружается в таком же формате, как USERS.ADDR
ADDR_REMПримечание к адресу обслуживания 

Примечание: поля OP_EQUIP_ID, OP_EQUIP_PORTOP_EQUIP_PORT_TYPE используются для указания привязки абонентского оборудования к операторскому и не являются необходимыми.

Справочник абонентских договоров

Таблица CONTRACTS

ПолеОписаниеПримечание

ID

ID договора

 

USER_ID

ID абонента

Ссылка на USERS.ID

NUM

Номер договора

 

D_DOC

Дата заключения договора

 

D_BEGIN

Дата начала действия договора

 

D_END

Дата окончания действия договора

 

Платежи

Таблица PAYMENTS

ПолеОписаниеПримечание

ID

ID операции

 

ACC_ID

ID лицевого счёта

Ссылка на ACCOUNTS.ID

BANK_ID

ID банка

Ссылка на BANKS.ID. Оператор связи должен иметь счет в этом банке

D_OPER

Дата и время операции

 

PAYMENT_SUM

Сумма платежа, умноженная на 100 (целое число)

 

PAYMENT_TYPE_ID

Тип платежа

Ссылка на PAYMENT_TYPES.ID. Можно оставлять пустым - будут использоваться типы платежей по умолчанию

Списания

Таблица WRITEOFFS

ПолеОписаниеПримечание

ID

ID операции

 

ACC_ID

ID лицевого счёта

Ссылка на ACCOUNTS.ID

CONTRACT_ID

ID договора

Ссылка на CONTRACTS.ID

D_OPER

Дата и время операции

 

TARIFF_ID

ID услуги (тарифного плана)

Ссылка на SERVICES.ID

EQUIP_ID

ID абонентского оборудования

Ссылка на EQUIP.ID

SUM

Сумма списания, умноженная на 100

Полная сумма списания, не цена услуги.

D_BEGIN

Дата и время начала периода списания

 

D_END

Дата и время окончания периода списания

 

USED

Количество, умноженное на 100

В единицах измерения, указанных для услуги в TARIFF_ID, введенной в Гидре

Суммы в таблице WRITEOFFS не должны быть отрицательными - только положительные значения и 0.

Многофилиальная структура

При наличии многофилиальной структуры используется справочник филиалов, на который ссылаются поля FIRM_ID в таблицах USERS и OP_EQUIP

Таблица FIRMS

ID

ID филиала

NAME

Наименование филиала

Сопоставляется с организационной структурой предприятия.

Множественные комментарии

Поддерживается загрузка множественных комментариев к абонентам и абонентскому оборудованию

Таблица COMMENT_TYPES

IDID типа комментария
NAMEНаименование комментария

Сопоставляется со справочником "Типы комментариев"

Таблица USER_COMMENTS

IDИдентификатор
USER_IDСсылка на USERS.ID
COMMENT_TYPE_IDСсылка на COMMENT_TYPES.ID
CL_COMMENTТекст комментария
D_OPERДата создания
D_SIGNALДата напоминания
D_EXECДата выполнения

Таблица EQUIP_COMMENTS

IDИдентификатор
EQUIP_IDСсылка на EQUIP.ID
COMMENT_TYPE_IDСсылка на COMMENT_TYPES.ID
CL_COMMENTТекст комментария
D_OPERДата создания
D_SIGNALДата напоминания
D_EXECДата выполнения

Дополнительные таблицы

В процессе миграции некоторые поля разбираются, и данные из них записываются в дополнительные таблицы.

В частности, адрес из USERS.ADDR подвергается парсингу и записывается в таблицу PARSED_USER_ADDRESSES. Таким образом, если в биллинге, из которого выгружаются данные, информация об адресе хранится в разобранном виде, то нет нужды писать его в одну строку — можно сразу заполнить таблицу.

Таблица PARSED_USER_ADDRESSES

ПолеОписаниеПримечание

USER_ID

Соответствующий ID из таблицы USERS

Ссылка на USERS.ID
ADDR_BIND_TYPE_ID

Вид адреса

Ссылка на FACT_ADDR_BIND_TYPES.ID.
Необязательное поле. По умолчанию - фактический адрес

VC_ORIGINAL

Строка с адресом из USERS.ADDR. При ручном заполнении необязательно

 
VC_DISTRICTРайон 

VC_CITY

Название населенного пункта

 

VC_CITY_TYPE

Тип населенного пункта (г, пгт и прочие)

 

VC_STREET

Название улицы

 

VC_STREET_TYPE

Тип улицы (ул, пр, пер, бульв. и прочие)

 

VC_HOUSE

Номер дома

 

VC_BUILDING

Корпус

 
VC_CONSTRUCTСтроение 
VC_OWNERSHIPВладение 

VC_ENTRANCE_NO

Подъезд

 

VC_FLOOR

Этаж

 

VC_FLAT

Квартира

 

VC_DIS_CODE

Код домофона

 
VC_CUSTOM_ADDRESSНестандартный адресс 
VC_REMКомментарий 

 

Таблица PARSED_EQUIP_ADDRESSES

ПолеОписаниеПримечание

EQUIP_ID

Соответствующий ID из таблицы EQUIP*

Ссылка на EQUIP.ID
ADDR_BIND_TYPE_ID

Вид адреса

Ссылка на FACT_ADDR_BIND_TYPES.ID.
Необязательное поле. По умолчанию - адрес обслуживания

VC_ORIGINAL

Строка с адресом из EQUIP.ADDR. При ручном заполнении необязательно.

 
VC_DISTRICTРайон 

VC_CITY

Название населенного пункта

 

VC_CITY_TYPE

Тип населенного пункта (г, пгт и прочие)

 

VC_STREET

Название улицы

 

VC_STREET_TYPE

Тип улицы (ул, пр, пер, бульв. и прочие)

 

VC_HOUSE

Номер дома

 

VC_BUILDING

Корпус

 
VC_CONSTRUCTСтроение 
VC_OWNERSHIPВладение 

VC_ENTRANCE_NO

Подъезд

 

VC_FLOOR

Этаж

 

VC_FLAT

Квартира

 

VC_DIS_CODE

Код домофона

 
VC_CUSTOM_ADDRESSНестандартный адресс 
VC_REMКомментарий 

 

Таблица USER_PHONES

USER_IDСоответствующий ID из таблицы USERS*
PHONE_TYPE_IDСоответствующий ID вида привязки телефона к СУ из таблицы PHONE_TYPES*
PHONEТелефон
REMПримечание

Во время повторной миграции может оказаться полезным загрузить состав абонента из выгрузки в состав уже существующего абонента в Гидре. Для этого необходимо заполнить таблицу USER_MAPPINGS

Таблица USER_MAPPINGS

USER_IDСоответсвующий ID из таблицы USERS*
USER_DST_CODEСоответствующий код абонента из Гидры


Сотрудники компании

Часто число сотрудников достаточно велико, и вводить их вручную нецелесообразно. Для этого необходимо добавить сотрудников как абонентов в таблицу USERS, выдать доступ к приложениям с помощью NETSERV (по аналогии с доступом в ЛК) и заполнить следующие таблицы.

Таблица DEPARTMENTS (Отделы)

 ПолеОписание
1IDИдентификатор отдела
2FIRM_IDСсылка на фирму из FIRMS.ID
3NAMEНаименование отдела

Таблица EMPLOYEE_TYPES (типы сотрудников)

 ПолеОписание
1IDИдентификатор
2NAMEНаименование

Таблица EMPLOYEES (сотрудники)

 ПолеОписаниеПримечание
1IDИдентификатор 
2USER_IDАбонентСсылка на USERS.ID
3FIRM_IDФирма, сотрудником которой является абонентСсылка на FIRMS.ID
4DEPARTMENT_IDОтдел (может быть использован в Гидре для разграничения прав)Ссылка на DEPARTMENTS.ID
5EMPLOYEE_TYPE_IDТип сотрудника (может быть использован в Гидре для разграничения прав)Ссылка на EMPLOYEE_TYPES.ID
6NAME_GENITIVEФИО в родительном падеже 
7APPOINTMENTДолжность 
8APPOINTMENT_GENITIVEДолжность в родительном падеже 
9ACT_AUTHORITYДействует на основании 
10TAB_NOТабельный номер 
11D_BEGINДата принятия на работу 
12D_FIREДата увольнения 
13REMКомментарий 


  • No labels