- Создал(а) Васильев Антон 07.04.2022
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим просмотр истории страницы
Версия 1 Следующий »
Интерфейс представляет собой краткую информацию (дайджест) об участнике документооборота. Объекты данного интерфейса выбираются в качестве субъектов ДО в прикладных документах.
Исторически сложилось, что такие объекты называют "бородами" (beard), или "процентными именами".
import
importClass(Packages.ru.intertrust.cmj.af.so.SOBeard)
extends
AFObject
properties
name | return value | description |
---|---|---|
methods
name | return value | description |
---|---|---|
class <>
properties
name | return value | description |
---|---|---|
* Перечисление возможных типов бороды.
* @author Gleb Nozdrachev
*
* @see SOBeard.DocflowData#getType()
*/
enum Type implements Serializable {
/**
* Сотрудник системной организации
*/
SYS_HUMAN,
/**
* РВЗ системной организации
*/
SYS_HUMAN_HEAD,
/**
* Структурное подразделение системной организации
*/
SYS_DEPARTMENT,
/**
* Cистемная организация
*/
SYS_ORGANIZATION,
/**
* Cистемная роль
*/
SYS_ROLE,
/**
* Сотрудник несистемной организации
*/
NONSYS_HUMAN,
/**
* Несистемная организация
*/
NONSYS_ORGANIZATION,
/**
* Частное лицо
*/
PRIVATE_HUMAN,
/**
* Контекстная роль
*/
CONTEXT_ROLE,
/**
* Субъект СО, отсутствующий в справочнике в "явном" виде. Объекты такого типа создаются автоматически -
* при обработке прикладных документов.
*/
ABSENT,
/**
* Реляция
*/
SYS_RELATION
}
/**
* Возвращает название организации бороды.
* @return не может быть <code>null</code>
*/
String getOrganizationName ();
/**
* Возвращает UNID доменного объекта-Организации для данной бороды.
* Для "Системной организации", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ORGANIZATION}</code>,
* поиск идёт по СпО текущей организации в пустом комплекте.
* @return null для "частного лица", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
*
* @see SOOrganizationDescription
*/
String getOrganizationUNID ();
/**
* Возвращает доменный объект-Организацию для данной бороды.
* Для "Системной организации", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ORGANIZATION}</code>,
* поиск идёт по СпО текущей организации в пустом комплекте.
* Для foreign-бород возможны ситуации, когда не удается однозначно определить СпО, из которой должно быть получено описание организации
* (например, в процедуре, работающей по расписанию под правами сервера). В таком случае будет получено первое попавшееся описание организации.
* Описания организаций для foreign-бород идентичны с точностью до значения колонки active.
* @return null для "частного лица", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
*
* @see SOOrganizationDescription
*/
SOOrganizationDescription getOrganization ();
/**
* Возвращает UNID доменного объекта-Организации для данной бороды.
* @return null для "частного лица", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
*
* @see SOOrganizationDescription
*/
String getOrganizationUNID (String spoComplect, String replicaSO);
/**
* Возвращает доменный объект-Организацию для данной бороды.
* Для "Системной организации", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ORGANIZATION}</code>,
* необходима конкретезация СпО.
* Для foreign-бород возможны ситуации, когда не удается однозначно определить СпО, из которой должно быть получено описание организации
* (например, в процедуре, работающей по расписанию под правами сервера). В таком случае будет получено первое попавшееся описание организации.
* Описания организаций для foreign-бород идентичны с точностью до значения колонки active.
* @param spoComplect - комплект СпО в котором необходимо искать связанную СО.
* @param replicaSO - СО в которой необходимо искать СпО.
* @return null для "частного лица", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
*
* @see SOOrganizationDescription
*/
SOOrganizationDescription getOrganization (String spoComplect, String replicaSO);
/**
* Возвращает UNID доменного объекта-Организации для данной бороды.
* Для "Системной организации", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ORGANIZATION}</code>,
* необходима конкретезация СпО.
* @param spoComplect - комплект СпО в котором необходимо искать связанную СО.
* @return null для "частного лица", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
*
* @see SOOrganizationDescription
*/
String getOrganizationUNID (String spoComplect);
/**
* Возвращает доменный объект-Организацию для данной бороды.
* Для "Системной организации", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ORGANIZATION}</code>,
* необходима конкретезация СпО.
* Для foreign-бород возможны ситуации, когда не удается однозначно определить СпО, из которой должно быть получено описание организации
* (например, в процедуре, работающей по расписанию под правами сервера). В таком случае будет получено первое попавшееся описание организации.
* Описания организаций для foreign-бород идентичны с точностью до значения колонки active.
* @param spoComplect - комплект СпО в котором необходимо искать связанную СО.
* @return null для "частного лица", т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
*
* @see SOOrganizationDescription
*/
SOOrganizationDescription getOrganization (String spoComplect);
/**
* Возвращает бороду, находящуюся непосредственно "над" данной бородой в организационной иерархии. Этот метод
* предназначен <b>только</b> для использования при реализации иерархических UI-выборок из СО.
* <p>
* Если необходима "навигация" по иерархии доменных объектов СО относительно данной бороды, то должен быть получен
* ее доменный объект, и дальнейшая навигация должна осуществляться относительно этого доменного объекта.
* <p>
* Метод должен вызываться <b>только</b> у такой бороды ШЕ, Подразделения или Роли, которая не сдала свои дела, т.е.
* у которой <code>({@link #effectiveData()} == null & {@link #originalData()}>{@link DocflowData#getType()} ==
* {@link SOBeard.Type#SYS_HUMAN} | {@link SOBeard.Type#SYS_HUMAN_HEAD} | {@link SOBeard.Type#SYS_DEPARTMENT} | {@link SOBeard.Type#SYS_ROLE})</code>.
* @return не может быть <code>null</code> при выполнении вышеуказанного условия вызова
*
* @throws IllegalStateException если вышеуказанное условие вызова не выполнено
*/
SOBeard getParent ();
/**
* возвращает "подсказку" для данной бороды
*
* @return подсказка
*/
public String getHint();
/**
* возвращает табельный номер персоны, связанной с данной бородой
* @return табельный номер
*/
public String getTabNum();
/**
* возвращает структурный код подразделения, связанный с данной бородой
* @return структурный код
*/
public String getCode();
/**
* возвращает список рабочих телефонов персоны, связанной с данной бородой
* @return не может быть <code>null</code>
*/
public Set<String> getPhoneWork();
/**
* Возвращает признак, является ли данная борода "активной", т.е. <b>не</b> удаленной.
* @return <code>true</code> если борода активна, <code>false</code> в противном случае
*/
boolean isActive ();
/**
* Возвращает доменный объект, чей доступ предоставляется данной бороде (в документах, где она выбрана).
* @return <code>null</code> для <b>не</b>системной бороды, т.е. если <code>{@link #isTypeSystem()} == false</code>
*/
SOUnit getAccessUnit ();
/**
* Перечисление возможных форматов бороды для метода <code>{@link SOBeard#toString(ToStringFormat)}</code>.
* @author Gleb Nozdrachev
*/
enum ToStringFormat {
/**
* Стандартный формат отображения: ФИО, ДОЛЖНОСТЬ (ПОДРАЗДЕЛЕНИЕ). Этот формат используется при
* вызове метода <code>{@link Object#toString()}</code> без параметров.
*/
DEFAULT,
/**
* Стандартный формат для CM-Domino (5 компонент для "системного", 4 для "несистемного") через "%".
*/
CMDOMINO_STD,
/**
* Разновидность формата для CM-Domino (6 компонент - дополнительно с названием организации - для "системного", 4 для "несистемного") через "%".
*/
CMDOMINO_WITH_ORG_IF_SYSTEM,
/**
* если выбиралась только организация - "название огранизации" % docid % replica-SpO
* если выбирался сотрудник из организации - ФИО % docid % replica-Spp
* если выбиралось частное лицо - ФИО % docid % replica-Spp
*/
CMDOMINO_SHORT_SENDING,
/**
* Краткое имя
*/
CMDOMINO_SHORT_NAME,
/**
* только реплика и UNID
*/
CMDOMINO_ID
}
/**
* Возвращает строковое представление бороды в указанном формате.
*
* @param format - заданный формат; не может быть <code>null</code>
* @return не может быть <code>null</code>
*
* @see SOBeard.ToStringFormat
*/
String toString (ToStringFormat format);
/**
* Возвращает признак, является ли данная борода <i>системной</i>.
* @return <code>true</code> если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_HUMAN} | {@link SOBeard.Type#SYS_HUMAN_HEAD} |
* {@link SOBeard.Type#SYS_DEPARTMENT} | {@link SOBeard.Type#SYS_ORGANIZATION} | {@link SOBeard.Type#SYS_ROLE}</code>, <code>false</code> в противном случае
*/
boolean isTypeSystem ();
/**
* Возвращает данные об "оригинальной" части бороды. "Оригинальная" часть - это борода, которая
* была указана (выбрана) в каком-то документе без учета возможной передачи дел. Т.е., это "исходная"
* борода - та, что отображается в документах.
* @return не может быть <code>null</code>
*
* @see #effectiveData()
* @see SOBeard.DocflowData
*/
DocflowData originalData ();
/**
* Возвращает данные об "эффективной" части бороды. "Эффективная" часть - это борода, которая
* приняла дела от "исходной". Т.е., это та борода, которая получает доступ к документу, где
* была выбрана "исходная".
* @return <code>null</code> если передачи дел у данной бороды не было или если она <b>не</b>системная,
* т.е. если <code>{@link #isTypeSystem()} == false</code>
*
* @see #originalData()
* @see SOBeard.DocflowData
*/
DocflowData effectiveData ();
/**
* Интерфейс-композит "данные об оригинальной / эффективной части бороды".
* @author Gleb Nozdrachev
*
* @see SOBeard#originalData()
* @see SOBeard#effectiveData()
*/
interface DocflowData {
/**
* Возвращает тип бороды.
* @return не может быть <code>null</code>
*
* @see SOBeard.Type
*/
Type getType ();
/**
* Возвращает признак, является ли данная борода <b>не</b>вакантной.
* @return <code>true</code> если <b>не</b>вакантна, <code>false</code> в противном случае
*/
boolean isNotVacancy ();
/**
* Возвращает Ф.И.О. бороды.
* @return не может быть <code>null</code>
*/
String getShortName ();
/**
* Возвращает поное имя/наименование бороды.
* @return не может быть <code>null</code>
*/
String getFullName ();
/**
* Возвращает наименование должности бороды.
* @return не может быть <code>null</code>
*/
String getPostName ();
/**
* Возвращает название подразделения бороды.
* @return не может быть <code>null</code>
*/
String getDepartmentName ();
/**
* Возвращает доменный объект для данной бороды.
* @return
* <ul>
* <li>{@link SOUnitOrganization} для системной организации, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ORGANIZATION}</code>
* <li>{@link SOUnitDepartment} для подразделения, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_DEPARTMENT}</code>
* <li>{@link SOAppointment} для "обычного" (не РВЗ) назначения, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_HUMAN}</code>
* <li>{@link SOAppointmentHead} для назначения РВЗ, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_HUMAN_HEAD}</code>
* <li>{@link SORole} для Роли, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#SYS_ROLE}</code>
* <li>{@link SOOrganizationDescription} для несистемной организации, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#NONSYS_ORGANIZATION}</code>
* <li>{@link SOPersonNonsystemOrganization} для субъекта несистемной организации, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#NONSYS_HUMAN}</code>
* <li>{@link SOPersonNonsystemPrivate} для частного лица, т.е. если <code>{@link SOBeard.Type} == {@link SOBeard.Type#PRIVATE_HUMAN}</code>
* <li>может быть <code>null</code>, см. {@link #getPartyUNID()}
* </ul>
*/
SOParty getParty ();
/**
* Возвращает UNID доменного объекта для данной бороды.
* @return может быть <code>null</code> из-за некорректных данных в CM-Domino
*/
String getPartyUNID ();
}
/**
* Возвращает внешний идентификатор бороды.
*
* @return может быть {@code null}.
*/
String getIntegrationId();
/**
* Возвращает адрес бороды (только для некоторых типов бород).
* @return не может быть <code>null</code>
*/
String getAddress ();
/**
* Возвращает признак того, что борода создана из "чужой" системной организации.
*/
boolean isForeign ();
/**
* Возвращает сеть бороды.
*
* @return может быть {@code null}.
*/
default String getNativeNet() {
return null;
}
/**
* Возвращает домашнюю сеть бороды.
*
* @return может быть {@code null}.
*/
default String getHomeNet() {
return null;
}
/**
* Признак, что сотрудник подключен к системе.
*
* @return {@code true} - если подключен и может работать в системе в
* "полном" режиме, {@code false} - не подключен и не имеет
* возможности работать полноценно в системе.
*/
boolean isConnectedToSystem();
boolean hasPhoto();
void setPhotoAvailable(boolean hasPhoto);
/**
* Возвращает название файла фото.
* @return может быть {@code null}.
*/
@Nullable
String getPhotoFileName();
/**
* Устанавливает название файла фото.
* @param photoFileName - может быть {@code null}.
*/
void setPhotoFileName(String photoFileName);
Set<SOBeard> getJoined();
/**
* Обособленное подразделение бороды
* @return - обособленное подразделение бороды, можеть быть {@code null}
* @see SOBeard
*/
@Nullable
SOBeard.Mapped getIsolatedDep();
/**
* @param location - обособленное подразделение бороды, можеть быть {@code null}
*/
void setIsolatedDep(@Nullable SOBeard.Mapped location);
Статус | В РАБОТЕ |
---|---|
Комментарий |
Методы, свойства, внутренние классы
- Нет меток