import {InnerFilterBuilder, InnerSortOrder, SortOrder} from "abstract-query-builder" import {ProductType} from "../../model/types" /** * @class module:productInfo.ProductInfoInnerSortOrder * @classdesc Класс для сортировки элементов в результе запроса. * @template S Класс для сортировки элементов в результе запроса. * @property {FieldSorter} type Тип продукции (АП | ССП | ССНП | Спирт) * @property {FieldSorter} fullName Наименование продукции полное (в верхнем регистре) * @property {FieldSorter} shortName Наименование продукции краткое (в верхнем регистре) * @property {FieldSorter} alcCode Код продукции согласно ЕГАИС * @property {FieldSorter} capacity Емкость упаковки продукции согласно ЕГАИС * @property {FieldSorter} alcVolume Содержание этилового спирта, % * @property {FieldSorter} producerId Производитель * @property {FieldSorter} importerId Импортер * @property {FieldSorter} productVCode Код вида продукции */ export class ProductInfoInnerSortOrder> extends InnerSortOrder { type = this.addFieldSorter("TYPE"); fullName = this.addFieldSorter("FULL_NAME_UPPER_CASE"); shortName = this.addFieldSorter("SHORT_NAME_UPPER_CASE"); alcCode = this.addFieldSorter("ALC_CODE"); capacity = this.addFieldSorter("CAPACITY"); alcVolume = this.addFieldSorter("ALC_VOLUME"); producerId = this.addFieldSorter("PRODUCER_CLIENT_REG_ID"); importerId = this.addFieldSorter("IMPORTER_CLIENT_REG_ID"); productVCode = this.addFieldSorter("PRODUCT_V_CODE"); } /** * @class module:productInfo.ProductInfoFilter * @classdesc Класс для фильтрации информации о продукции. * @template Q Класс для формирования запроса. * @template S Класс для сортировки элементов в результе запроса. * @template R Результат запроса. * @property {FieldFilter} type Тип продукции (АП | ССП | ССНП | Спирт) * @property {FieldFilter} fullName Наименование продукции полное (в верхнем регистре) * @property {FieldFilter} shortName Наименование продукции краткое (в верхнем регистре) * @property {FieldFilter} alcCode Код продукции согласно ЕГАИС * @property {FieldFilter} capacity Емкость упаковки продукции согласно ЕГАИС * @property {FieldFilter} alcVolume Содержание этилового спирта, % * @property {FieldFilter} producerId Производитель * @property {FieldFilter} importerId Импортер * @property {FieldFilter} productVCode Код вида продукции */ export class ProductInfoFilter, R> extends InnerFilterBuilder { type = this.addFieldFilter("TYPE"); fullName = this.addFieldFilter<(string | null)>("FULL_NAME_UPPER_CASE"); shortName = this.addFieldFilter<(string | null)>("SHORT_NAME_UPPER_CASE"); alcCode = this.addFieldFilter("ALC_CODE"); capacity = this.addFieldFilter<(string | null)>("CAPACITY"); alcVolume = this.addFieldFilter<(string | null)>("ALC_VOLUME"); producerId = this.addFieldFilter<(string | null)>("PRODUCER_CLIENT_REG_ID"); importerId = this.addFieldFilter<(string | null)>("IMPORTER_CLIENT_REG_ID"); productVCode = this.addFieldFilter<(string | null)>("PRODUCT_V_CODE"); }