import { QueryParams } from '../types/fetchResponse.type'; import { BaseFilterQueryParams } from './common.dto'; export interface GetItemListQueryParams extends QueryParams { group?: string[]; itemName?: string[]; brand?: string[]; model?: string[]; category?: string[]; tagType?: string[]; supplier?: string[]; excludeIds?: string[]; supplierIds?: string[]; statusStock?: string[]; } export interface GetItemOptionsQueryParams { itemNameOptions?: boolean; brandOptions?: boolean; modelOptions?: boolean; supplierOptions?: boolean; tagTypeOptions?: boolean; excludeIds?: string[]; } export interface GetItemUnplacedStockQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; itemName?: string; brand?: string; model?: string; tagType?: string; receivingGroup?: string; } export interface GetItemUnplacedStockOptionsQueryParams { itemNameOptions?: boolean; brandOptions?: boolean; modelOptions?: boolean; } export interface GetItemInitialStockQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; itemName?: string; brand?: string; model?: string; tagType?: string; } export interface GetItemInitialStockOptionsQueryParams { itemNameOptions?: boolean; brandOptions?: boolean; modelOptions?: boolean; } export interface GetUnplacedStockListQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; status?: string; source?: string; receptionDate?: string; receivingGroup?: string; itemSKU?: string; supplier?: string | null; } export interface GetUnplacedStockOptionsParams { statusOptions?: boolean; sourceOptions?: boolean; receivingGroup?: string; itemSKU?: string; supplier?: string; } export interface GetStockPlacementDetailParams { receivingGroupId: string; } export interface GetItemDetailAllStockParams extends QueryParams { tagType?: string[]; group?: string[]; status?: string[]; receptionDate?: string[]; productionDate?: string[]; expiredDate?: string[]; tag?: string; } export interface GetItemDetailAllStockOptionsParams { tagTypeOptions?: boolean; statusOptions?: boolean; } export interface GetItemDetailGroupPlacementParams extends QueryParams { page?: number; limit?: number; search?: string; sortOrder?: number; sortBy?: string; tagType?: string[]; tag?: string; administrativeGroup?: string[]; } export type GetItemDetailUnplacedStockParams = GetItemDetailGroupPlacementParams & { supplier?: string[]; batchNumber?: string[]; }; export interface GetItemDetailGroupPlacementOptionsParams { tagTypeOptions?: boolean; } export type GetItemDetailUnplacedStockOptionsParams = GetItemDetailGroupPlacementOptionsParams; export interface GetItemDetailStockOpnameOptionsParams { groupOptions?: boolean; } export interface BodyPutItemDetailGroupPlacementGroupCapacity { groupIds: string[]; capacity: number | null; } export interface BodyDeleteGroupPlacement { groupIds: string[]; } export interface BodyPostItemDetailGroupPlacement { groups: { _id: string; capacity?: number; }[]; } export interface GetItemStockListParams { tagType?: string[]; group?: string[]; receptionDate?: string[]; tag?: string; status?: string[]; isPaired?: boolean; excludeTagType?: string[]; } export interface GetItemStockListOptionsParams { tagTypeOptions?: boolean; statusOptions?: boolean; } export interface BodyPutItemStockBulkUpdateDate { stocks: { _id: string; productionDate?: number; expiredDate?: number; }[]; } export interface BodyPutStockDetail { productionDate?: number; expiredDate?: number; } export interface GetStockInformationCurrentStockParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; tagType?: string; status?: string; receptionDate?: string; productionDate?: string; expiredDate?: string; tag?: string; } export interface GetStockInformationCurrentStockOptionsParams { tagTypeOptions?: boolean; statusOptions?: boolean; } export interface GetStockInformationInboundParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; transaction?: string; pic?: string; createdAt?: string; } export interface GetStockInformationInboundOptionsParams { transactionOptions?: boolean; picOptions?: boolean; } export interface GetStockInformationOutboundParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; transaction?: string; pic?: string; createdAt?: string; } export interface GetStockInformationOutboundOptionsParams { transactionOptions?: boolean; picOptions?: boolean; } export interface GetStockDetailChangeLogOptionsQueryParams { fieldOptions?: boolean; modifiedByOptions?: boolean; } export interface GetStockInformationGroupStockCardParams extends BaseFilterQueryParams { transaction?: string[]; pic?: number[]; createdAt?: number[]; type?: string[]; } export interface GetStockInformationGroupStockCardOptionsParams { transactionOptions?: boolean; picOptions?: boolean; typeOptions?: boolean; } export type GetStockInformationAdminGroupStockCardParams = GetStockInformationGroupStockCardParams & { group?: number[]; }; export type GetStockInformationAdminGroupStockCardOptionsParams = GetStockInformationGroupStockCardOptionsParams; export interface getItemDetailBatchNumberStatusParams { batchNumber: string; supplier: string; } export interface BasePatchDateBody { stockIds: string[]; } export interface PatchItemDetailAllStockEditReceptionDateBody extends BasePatchDateBody { receptionDate: number | null; } export interface PatchItemDetailAllStockEditProductionDateBody extends BasePatchDateBody { productionDate: number | null; } export interface PatchItemDetailAllStockEditExpiredDateBody extends BasePatchDateBody { expiredDate: number | null; }