Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mdemyanov/a7346bacc80fac0e28a75f1f4099e9f0 to your computer and use it in GitHub Desktop.
Save mdemyanov/a7346bacc80fac0e28a75f1f4099e9f0 to your computer and use it in GitHub Desktop.
/*! UTF8 */
//Автор: mdemyanov
//Дата создания: 02.09.17
//Код: SCRIPTSD4001683
//Назначение:
/**
* Найти заявки по услуге за период
* @param FQN код метакласса объектов для поиска
* @param SERVICE_ID значение идентификатора услуги
* @param SERVICE_ID_ATTR код атрибута, в котором хранится идентификатор
* @param LINK_TO_SERVICE код атрибута ссылки на услуги из объекта поиска
* @param DATE_ATTR код атрибута со значением даты
* @param DATE_FROMAT формат срокового представления даты
* @param DATE_FROM начиная с даты
* @param DATE_TO заканчивая датой
* @return коллекция с найдеными объектами
*/
//Версия: 4.6.*
//Категория:
//Параметры------------------------------------------------------
def FQN = 'serviceCall'
def SERVICE_ID = '00'
def SERVICE_ID_ATTR = 'inventoryNumber'
def LINK_TO_SERVICE = 'service'
def DATE_ATTR = 'creationDate'
def DATE_FORMAT = 'dd.MM.yyyy HH:mm'
def DATE_FROM = '31.08.2017 00:00'
def DATE_TO = '02.09.2017 00:00'
//Функции--------------------------------------------------------
//Основной блок -------------------------------------------------
// Строка GString с текстом поискового запроса на диалекте HQL
def queryString = """
select '${FQN.split('\$')[0]}'||'\$'||cast(id as string)
from $FQN
where ${LINK_TO_SERVICE}.${SERVICE_ID_ATTR} = :serviceId
and ${DATE_ATTR} between :fromDate and :toDate
"""
// Дполнительные параметры для вставки в запрос
def queryParams = [:]
queryParams.serviceId = SERVICE_ID
queryParams.fromDate = Date.parse(DATE_FORMAT, DATE_FROM)
queryParams.toDate = Date.parse(DATE_FORMAT, DATE_TO)
// Инициализируем метод
def query = api.db.query(queryString)
// передадим ему дополнительные параметры
query.set(queryParams)
// Запросим результаты в виде коллекции
return query.list()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment