Техническое руководство > Создание объектов БД из внешних программных систем > Создание персонала компании [●] | « пред. | след. » |
Для создания сотрудника компании необходимо воспользоваться процедурой MOD_PERSONAL пакета PLX_IMP.
procedure mod_personal( -- Основные параметры -- mode_ varchar, -- режим модификации CREATE|UPDATE|DELETE last_name_ varchar, -- Фамилия personal_group_id_ integer, -- Ид. основной группы personal_id_ in out integer, -- Ид. сущ. для изменения -- необязательные основные параметры result_ out integer, -- ошибка при добавлении ... err_msg_ out varchar, state_id_ integer default 3, -- Состояние(по умолч. Работает) user_active_ integer default 1, -- Возможность подключения к БД (через mgate) remark_ varchar default null, -- Описание -- Дополнительные параметры -- first_name_ varchar default null, --Имя sec_name_ varchar default null, --Отчество birthday_ date default null, -- День рождения office_id_ integer default null, -- Офис department_id_ integer default null, -- Подразделение empl_id_ integer default null, --Тип найма stuff_id_ integer default null, -- Должность econ_stuff_id_ integer default null, -- Учетная должность employ_date_ date default null, -- Дата приема на работу fire_date_ date default null, -- Дата увольнения email_ varchar default null, -- Почтовый адрес local_phone_ varchar default null, -- Местный номер ext_phone_ varchar default null, -- Городской номер home_address_str_ varchar default null, -- Домашний адрес reg_address_str_ varchar default null, -- Адрес прописки code_ varchar default null, -- Код-идентификатор сотрудника has_sign_ varchar default null, -- Имеет подпись company_info_id_ integer default null -- Компания ); |
mode_ - задает режимы модификации: CREATE - создание UPDATE - обновление, DELETE - удаление.
personal_group_id_ - ID из таблицы PERSONAL_GROUPS. Обязательный параметр, требуется для определения прав доступа. Значения после инсталляции:
2 - Группа проектирования.
6 - Телефонисты.
8 - Менеджеры по телефонии.
state_id - ID - из таблицы состояний сотрудника PERSONAL_STATE_TYPES. Значения после инсталляции:
1 - В отпуске.
2 - В командировке.
3 - Работает (значение по-умолчанию).
4 - Болеет.
office_id_ - Офисы компании из справочника COMP_OFFICIES.
empl_id_ - Тип найма на работу из справочника PERSONAL_EMPL_TYPES.
department_id_ - Отделы/подразделения компании из справочника COMP_DEPARTMENTS.
stuff_id_ - Должности из справочника COMP_STUFF.
econ_stuff_id_ - Учетные должности COMP_ECON_STUFF.
company_info_id_- Компания из справочника COMPANY_INFO.
result_ - код возврата:
0 - OK
-1 - Отсутствует ссылка на personal_id.
-2 - Сотрудник не найден.
-3 - Неправильно выбран режим.
-4 - Ошибка добавления персонала (сотрудника).
home_address_str_, reg_address_str_ передаются в специальном упакованном формате, для получения упакованного формата необходимо воспользоваться вызовом pack_addr_str пакета plx_imp_address.
function pack_addr_str( zip_code_ varchar, -- индекс country_ varchar2, -- страна region_ varchar2, -- регион сity_ varchar, -- город street_ varchar, -- улица place_ varchar, -- место house_ varchar, -- номер дома house2_ varchar, -- корпус литера room_ varchar, -- номер квартиры non_std_addr_ varchar default null, -- нестандартный адрес remark_ varchar default null -- примечание need_create number default null -- требуется ли создание? ) return varchar; |
need_create - режим создания:
<> 0 - создание страны, города, улицы, места, если не найдено значение в справочниках;
0 - или пусто - поиск id страны, города, улицы, места из справочников, если не найдено, то порождение ошибки.
Связанные с адресами справочники:
•Справочник городов - CITIES;
•Справочник стран - COUNTRIES;
•Справочник улиц - STREETS;
•Справочник мест установки оборудования - PLACE_TYPES.
После создания сотрудника необходимо создать пользователя БД, для этого необходимо сделать вызов MOD_USER
procedure mod_user( mode_ varchar, -- задает режим модификации CREATE|UPDATE|DELETE user_login_ varchar, -- Имя пользователя(логин) user_pass_ varchar, -- Пароль пользователя personal_id_ integer, -- Ид. сотрудника для связывания / изменения логина (обязательный параметр) result_ out integer, -- Результат, код возврата err_msg_ out varchar -- Сообщение об ощибке ); |
mode_ - задает режимы модификации: CREATE - создание UPDATE - обновление, DELETE - удаление.
result_ - код возврата:
0 - OK.
-1 - Пользователь уже существует, невозможно создать пользователя.
-2 - Пользователь не существует.
-3 - Неправильно выбран режим.
-4 - Не задан personal_id.
-5 - Переданный personal_id не найден в таблице персонала.
-6 - Указанный логин _______ не найден у выбранного персонала.
-10 - Ошибка при создании пользователя Oracle.
В качестве логина требуется, чтобы использовались буквы латинского алфавита. Логин и Пароль нечувствительны к регистру.
После создания сотрудника сотрудник может подключиться к БД, но не имеет право на запуск приложения. Для предоставления доступа к приложению необходимо воспользоваться процедурой MOD_APP_BELONG_TO, в котором необходимо передать ID персонала, для которого предоставляется доступ и ID приложения из справочника приложений APPLICATIONS.
procedure mod_app_belong_to( mode_ varchar, -- режим модификации CREATE|DELETE personal_id_ integer, -- Ид. сущ. сотрудника application_id_ integer, -- Ид. сущ. приложения result_ out integer,-- Результат, код возврата err_msg_ out varchar -- Сообщение об ошибке ); |
result_ - код возврата:
0 - OK.
-1 - Приложение с ID не найдено.
-2 - Неправильно выбран режим.
-3 - Ошибка при определении права запуска сотрудником приложения.