processService

Базовые методы

getProcess(id: Int): Process

Получение процесса по идентификатору

Аргументы:

id

идентификатор процесса

Возвращаемое значение: Экземпляр процесса

removeProcess(id: Int)

Удаление процесса по идентификатору

Аргументы:

id

идентификатор процесса

getProcessList(ids: Collection<Int>): List<Process>

Получение процессов по идентификаторам

Аргументы:

ids

коллекция идентификаторов процесса

Возвращаемое значение: Коллекция экземпляров процесса

findProcess(id: Int): Optional<Process>

Поиск процесса по идентификатору

Аргументы:

id

идентификатор процесса

Возвращаемое значение: Optional экземпляра процесса

getProcessType(typeId: Int): ProcessType

Получение типа процесса по идентификатору

Аргументы:

typeId

идентификатор типа процесса

Возвращаемое значение: Экземпляр типа процесса

setDescription(id: Int, description: String)

Установка описания процесса (перезапись текущего описания)

Аргументы:

id

идентификатор процесса

description

новое описание процесса

addDescription(id: Int, message: String)

Добавление сообщения в описание процесса

Аргументы:

id

идентификатор процесса

message

текст сообщения

addDescription(id: Int, pattern: String, message: String)

Добавление сообщения в описание процесса

Аргументы:

id

идентификатор процесса

pattern

паттерн для вставляемой строки текста

message

текст сообщения

updateStatus(id: Int, statusId: Int, comment: String?)

Установка статуса процесса

Аргументы:

id

идентификатор процесса

statusId

идентификатор нового статуса

comment

комментарий статуса (можно передать null)

setPriority(id: Int, priority: Int)

Установка приоритета процесса

Аргументы:

id

идентификатор процесса

priority

приоритет процесса (от 0 до 9)

Методы создающие процесс

createProcess(typeId: Int, title: String?): Process

Создание процесса

Аргументы:

typeId

идентификатор типа процесса

title

наименование процесса (можно передать null)

Возвращаемое значение: Экземпляр процесса

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

Аргументы:

typeId

идентификатор типа процесса

title

наименование процесса (можно передать null)

linkedProcessId

идентификатор процесса к которому привяжется созданный процесс

linkType

тип привязки (processLink, processMade, processDepend)

Возвращаемое значение: Экземпляр созданного процесса

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

Аргументы:

typeId

идентификатор типа процесса

title

наименование процесса (можно передать null)

linkedProcess

экземпляр процесса к которому привяжется созданный процесс

linkType

тип привязки (processLink, processMade, processDepend)

Возвращаемое значение: Экземпляр созданного процесса

createLinkedProcess(typeId: Int, title: String?, linkedCustomer: Customer): Process

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

Аргументы:

typeId

идентификатор типа процесса

title

наименование процесса (можно передать null)

linkedCustomer

экземпляр контрагента к которому привяжется созданный процесс

Возвращаемое значение: Экземпляр созданного процесса

createLinkedProcess(typeId: Int, title: String?, linkedContract: Contract): Process

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

Аргументы:

typeId

идентификатор типа процесса

title

наименование процесса (можно передать null)

linkedContract

экземпляр договора к которому привяжется созданный процесс

Возвращаемое значение: Экземпляр созданного процесса

createLinkedProcess(typeId: Int, title: String?, linkedCommonContract: CommonContract): Process

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

Аргументы:

typeId

идентификатор типа процесса

title

наименование процесса (можно передать null)

linkedCommonContract

экземпляр единого договора к которому привяжется созданный процесс

Возвращаемое значение: Экземпляр созданного процесса

Методы работы с группами решения процесса

getProcessGroups(id: Int, roleId: Int = 0): MutableSet<ProcessGroup>

Получение групп процесса

Аргументы:

id

идентификатор процесса

roleId

идентификатор роли

Возвращаемое значение: коллекция групп процесса

getProcessGroupByUser(id: Int, user: User, roleId: Int, firstSuitableGroup: Boolean = false): ProcessGroup?

Поиск группы процесса подходящей для пользователя

Аргументы:

id

идентификатор процесса

user

экземпляр пользователя

roleId

идентификатор роли

firstSuitableGroup

если true, то вернется первая подходящая, иначе при наличии нескольких вернется ошибка

Возвращаемое значение: группа процесса

addProcessGroups(id: Int, processGroups: Set<ProcessGroup>)

добавление групп процесса (не перезапишет текущеие)

Аргументы:

id

идентификатор процесса

processGroups

коллекция экземпляров групп процесса

updateProcessGroups(id: Int, processGroups: Set<ProcessGroup>)

обновление групп процесса (перезапишет текущие)

Аргументы:

id

идентификатор процесса

processGroups

коллекция экземпляров групп процесса

removeProcessGroup(id: Int, processGroup: ProcessGroup)

удаление группы процесса

Аргументы:

id

идентификатор процесса

processGroup

экземпляр удаляемой группы процесса

Методы работы с исполнителями процесса

getProcessExecutors(id: Int, roleId: Int = 0): MutableSet<ProcessExecutor>

Получение исполнителей процесса

Аргументы:

id

идентификатор процесса

roleId

идентификатор роли

Возвращаемое значение: коллекция экземпляров исполнителей процесса

addProcessExecutors(id: Int, processExecutors: Set<ProcessExecutor>)

Добавление исполнителей процесса (не перезаписывает текущих)

Аргументы:

id

идентификатор процесса

processExecutors

коллекция экземпляров исполнителей

addProcessExecutors(id: Int, processExecutors: Set<User>, roleId: Int, firstSuitableGroup: Boolean = false)

Добавление исполнителей процесса (не перезаписывает текущих)

Аргументы:

id

идентификатор процесса

processExecutors

коллекция экземпляров пользователей

roleId

идентификатор роли

firstSuitableGroup

если true, то установится первая подходящая группа, иначе при наличии нескольких подходящих групп вернется ошибка

updateProcessExecutors(id: Int, processExecutors: Set<ProcessExecutor>)

Обновление исполнителей процесса (перезаписывает текущих)

Аргументы:

id

идентификатор процесса

processExecutors

коллекция экземпляров исполнителей процесса

updateProcessExecutors(id: Int, processExecutors: Set<User>, roleId: Int, firstSuitableGroup: Boolean = false)

Обновление исполнителей процесса (перезаписывает текущих)

Аргументы:

id

идентификатор процесса

processExecutors

коллекция экземпляров пользователей

roleId

идентификатор роли

firstSuitableGroup

если true, то установится первая подходящая группа, иначе при наличии нескольких подходящих групп вернется ошибка

removeProcessExecutor(id: Int, processExecutor: ProcessExecutor)

Удаление исполнителей процесса

Аргументы:

id

идентификатор процесса

processExecutor

экземпляр исполнителя процесса

removeProcessExecutor(id: Int, user: User)

Удаление исполнителей процесса

Аргументы:

id

идентификатор процесса

user

экземпляр пользователя

Методы работы с привязками

Получение привязок процесса

Аргументы:

id

идентификатор процесса

Возвращаемое значение: коллекция экземпляров привязок

Получение исполнителей процесса

Аргументы:

id

идентификатор процесса

regexPattern

паттерн типа привязки (например, customer)

Возвращаемое значение: коллекция экземпляров привязок

Добавление привязки к процессу

Аргументы:

id

идентификатор процесса

link

экземпляр привязки

Обновление привязок процесса

Аргументы:

id

идентификатор процесса

links

коллекция экземпляров привязок

removeLinkedObjects(id: Int)

Удаление всех привязок процесса

Аргументы:

id

идентификатор процесса

Удаление привязки процесса

Аргументы:

id

идентификатор процесса

link

экземпляр привязки

Методы работы с привязанными процессами

Получение процессов к которым привязан текущий процесс (родительские процессы)

Аргументы:

linkedProcessId

идентификатор текущего процесса

linkTypes

коллекция типов связи (processLink, processMade, processDepend)

processTypes

коллекция идентификаторов типов процесса

Возвращаемое значение: коллекция экземпляров процессов

Получение процессов которые привязаны к текущему процессу (дочерние процессы)

Аргументы:

id

идентификатор текущего процесса

linkTypes

коллекция типов связи (processLink, processMade, processDepend)

processTypes

коллекция идентификаторов типов процесса

processTypes

коллекция идентификаторов типов процесса

statuses

коллекция идентификаторов статусов процесса

Возвращаемое значение: коллекция экземпляров процессов

Привязать процесс

Аргументы:

id

идентификатор текущего процесса

process

экземпляр привязываемого процесса

linkType

тип привязки (processLink, processMade, processDepend)

Привязать процесс

Аргументы:

id

идентификатор текущего процесса

processId

идентификатор привязываемого процесса

linkType

тип привязки (processLink, processMade, processDepend)

Привязать процессы

Аргументы:

id

идентификатор текущего процесса

processes

коллекция привязываемых процессов

linkType

тип привязки (processLink, processMade, processDepend)

Удалить связь процессов

Аргументы:

id

идентификатор текущего процесса

process

экземпляр привязанного процесса

linkType

тип привязки (processLink, processMade, processDepend)

Удалить связь процессов

Аргументы:

id

идентификатор текущего процесса

process

идентификатор привязанного процесса

linkType

тип привязки (processLink, processMade, processDepend)

Методы работы с привязками контрагентов

getLinkedCustomers(id: Int): MutableList<Customer>

Получение привязанных контрагентов

Аргументы:

id

идентификатор процесса

Возвращаемое значение: коллекция экземпляров контрагентов

addLinkedCustomer(id: Int, customerId: Int)

Добавить привязку контрагента

Аргументы:

id

идентификатор процесса

customerId

идентификатор контрагента

addLinkedCustomer(id: Int, customer: Customer)

Добавить привязку контрагента

Аргументы:

id

идентификатор процесса

customer

экземпляр контрагента

addLinkedCustomers(id: Int, customers: Collection<Customer>)

Добавить привязки контрагентов

Аргументы:

id

идентификатор процесса

customers

коллекция экземпляров контрагентов

updateLinkedCustomers(id: Int, customers: Collection<Int>)

Обновить привязки контрагентов (перезапишет текущие)

Аргументы:

id

идентификатор процесса

customers

коллекция экземпляров контрагентов

removeLinkedCustomer(id: Int, customerId: Int)

Удалить привязку контрагента

Аргументы:

id

идентификатор процесса

customerId

идентификатор контрагента

removeLinkedCustomers(id: Int, customers: Collection<Customer>)

Удалить привязки контрагентов

Аргументы:

id

идентификатор процесса

customers

коллекция экземпляров контрагентов

Методы работы с привязками договоров

getLinkedContracts(id: Int): MutableList<Contract>

Получение привязанных договоров

Аргументы:

id

идентификатор процесса

Возвращаемое значение: коллекция экземпляров договоров

addLinkedContract(id: Int, contract: Contract)

Добавление привязки договора

Аргументы:

id

идентификатор процесса

contract

экземпляр договора

addLinkedContracts(id: Int, contracts: Collection<Contract>)

Добавление привязок договоров

Аргументы:

id

идентификатор процесса

contracts

коллекция экземпляров договоров

updateLinkedContracts(id: Int, contracts: Collection<Contract>)

Обновление привязок договоров

Аргументы:

id

идентификатор процесса

contracts

коллекция экземпляров договоров

removeLinkedContract(id: Int, contract: Contract)

Удаление привязки договора

Аргументы:

id

идентификатор процесса

contract

экземпляр договора

Методы работы с привязками единых договоров

getLinkedCommonContracts(id: Int): MutableList<CommonContract>

Получение привязанных единых договоров

Аргументы:

id

идентификатор процесса

Возвращаемое значение: коллекция экземпляров единых договоров

addLinkedCommonContract(id: Int, commonContractId: Int)

Добавление привязки единого договора

Аргументы:

id

идентификатор процесса

commonContractId

идентификатор единого договора

addLinkedCommonContract(id: Int, commonContract: CommonContract)

Добавление привязки единого договора

Аргументы:

id

идентификатор процесса

commonContract

экземпляр единого договора

addLinkedCommonContracts(id: Int, commonContractList: Collection<CommonContract>)

Добавление привязок единых договоров

Аргументы:

id

идентификатор процесса

commonContractList

коллекция экземпляров единых договоров

updateLinkedCommonContracts(id: Int, commonContractIds: Collection<Int>)

Обновление привязок единых договоров

Аргументы:

id

идентификатор процесса

commonContractIds

коллекция идентификатороы единых договоров

removeLinkedCommonContract(id: Int, commonContractId: Int)

Удаление привязки единого договора

Аргументы:

id

идентификатор процесса

commonContractId

идентификатор единого договора