Created
September 2, 2017 08:25
-
-
Save mdemyanov/a7346bacc80fac0e28a75f1f4099e9f0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! 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