import {FilterBuilder, SortOrder} from "abstract-query-builder" import TtnInformF2Reg, {TtnInformF2RegPosition} from "../model/document/TtnInformF2Reg" import {TtnInformF2RegStatus} from "../model/types" import executor from "./executor" /** * @class module:waybill.TtnInformF2RegSortOrder * @classdesc Класс для сортировки элементов в результе запроса. * @property {FieldSorter} uuid Уникальный идентификатор справки 2 информации о предыдущих отгрузках * @property {FieldSorter} owner Кто подает документы * @property {FieldSorter} identity Идентификатор документа (клиентский) * @property {FieldSorter} wbRegId ИД накладной в системе (присвоенный) * @property {FieldSorter} egaisFixNumber Номер фиксации накладной(отгрузки) в ЕГАИС * @property {FieldSorter} egaisFixDate Дата составления накладной(отгрузки) в ЕГАИС * @property {FieldSorter} wbNumber Номер накладной * @property {FieldSorter} wbDate Дата составления накладной * @property {FieldSorter} shipperId Грузоотправитель * @property {FieldSorter} consigneeId Грузоотправитель * @property {FieldSorter} supplierId Поставщик * @property {FieldSorter} waybillId Уникальный идентификатор ТТН * @property {FieldSorter} status Текущий статус справки 2 */ export class TtnInformF2RegSortOrder extends SortOrder { uuid = this.addFieldSorter("UUID"); owner = this.addFieldSorter("OWNER"); identity = this.addFieldSorter("IDENTITY"); wbRegId = this.addFieldSorter("WB_REG_ID"); egaisFixNumber = this.addFieldSorter("EGAIS_FIX_NUMBER"); egaisFixDate = this.addFieldSorter("EGAIS_FIX_DATE"); wbNumber = this.addFieldSorter("WB_NUMBER"); wbDate = this.addFieldSorter("WB_DATE"); shipperId = this.addFieldSorter("SHIPPER_ID"); consigneeId = this.addFieldSorter("CONSIGNEE_ID"); supplierId = this.addFieldSorter("SUPPLIER_ID"); waybillId = this.addFieldSorter("WAY_BILL_ID"); status = this.addFieldSorter("STATUS"); constructor() { super(() => this); } } /** * @class module:waybill.TtnInformF2RegQuery * @classdesc Класс для формирования запроса на получение справок 2 к ТТН. * @property {FieldFilter} uuid Уникальный идентификатор справки 2 информации о предыдущих отгрузках * @property {FieldFilter} owner Кто подает документы * @property {FieldFilter} identity Идентификатор документа (клиентский) * @property {FieldFilter} wbRegId ИД накладной в системе (присвоенный) * @property {FieldFilter} egaisFixNumber Номер фиксации накладной(отгрузки) в ЕГАИС * @property {FieldFilter} egaisFixDate Дата составления накладной(отгрузки) в ЕГАИС * @property {FieldFilter} wbNumber Номер накладной * @property {FieldFilter} wbDate Дата составления накладной * @property {FieldFilter} shipperId Грузоотправитель * @property {FieldFilter} consigneeId Грузоотправитель * @property {FieldFilter} supplierId Поставщик * @property {FieldFilter} waybillId Уникальный идентификатор ТТН * @property {FieldFilter} status Текущий статус справки 2 */ export default class TtnInformF2RegQuery extends FilterBuilder { uuid = this.addFieldFilter("UUID"); owner = this.addFieldFilter("OWNER"); identity = this.addFieldFilter("IDENTITY"); wbRegId = this.addFieldFilter("WB_REG_ID"); egaisFixNumber = this.addFieldFilter("EGAIS_FIX_NUMBER"); egaisFixDate = this.addFieldFilter("EGAIS_FIX_DATE"); wbNumber = this.addFieldFilter("WB_NUMBER"); wbDate = this.addFieldFilter("WB_DATE"); shipperId = this.addFieldFilter("SHIPPER_ID"); consigneeId = this.addFieldFilter("CONSIGNEE_ID"); supplierId = this.addFieldFilter("SUPPLIER_ID"); waybillId = this.addFieldFilter("WAY_BILL_ID"); status = this.addFieldFilter("STATUS"); constructor() { super(() => this, executor('TtnInformF2Reg', TtnInformF2Reg.prototype)); } } /** * @class module:waybill.TtnInformF2RegPositionSortOrder * @classdesc Класс для сортировки элементов в результе запроса. * @property {FieldSorter} uuid Уникальный идентификатор позиции * @property {FieldSorter} ttnInformF2RegUuid Уникальный идентификатор справки 2 * @property {FieldSorter} identity Идентификатор позиции внутри накладной * @property {FieldSorter} informF2RegId Регистрационный номер записи справки 2 */ export class TtnInformF2RegPositionSortOrder extends SortOrder { uuid = this.addFieldSorter("UUID"); ttnInformF2RegUuid = this.addFieldSorter("TTN_INFORM_F2_REG_ID"); identity = this.addFieldSorter("IDENTITY"); informF2RegId = this.addFieldSorter("INFORM_F2_REG_ID"); constructor() { super(() => this); } } /** * @class module:waybill.TtnInformF2RegPositionQuery * @classdesc Класс для формирования запроса на получение позиций акта списания из магазина. * @property {FieldFilter} uuid Уникальный идентификатор позиции * @property {FieldFilter} ttnInformF2RegUuid Уникальный идентификатор справки 2 * @property {FieldFilter} identity Идентификатор позиции внутри накладной * @property {FieldFilter} informF2RegId Регистрационный номер записи справки 2 */ export class TtnInformF2RegPositionQuery extends FilterBuilder { uuid = this.addFieldFilter("UUID"); ttnInformF2RegUuid = this.addFieldFilter("TTN_INFORM_F2_REG_ID"); identity = this.addFieldFilter("IDENTITY"); informF2RegId = this.addFieldFilter("INFORM_F2_REG_ID"); constructor() { super(() => this, executor('TtnInformF2RegPosition', TtnInformF2RegPosition.prototype)); } }