diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income.ts b/src/modules/reports/shared/configs/transaction-report/configs/income.ts index 2a80ddd..551b235 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income.ts @@ -1,4 +1,10 @@ -import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { + DATA_FORMAT, + DATA_TYPE, + FILTER_FIELD_TYPE, + FILTER_TYPE, + REPORT_GROUP, +} from '../../../constant'; import { ReportConfigEntity } from '../../../entities/report-config.entity'; export default { @@ -36,5 +42,26 @@ export default { format: DATA_FORMAT.TEXT, }, ], - filter_configs: [], + filter_configs: [ + { + filed_label: 'Name', + filter_column: 'main__name', + field_type: FILTER_FIELD_TYPE.select, + filter_type: FILTER_TYPE.TEXT_IN_MEMBER, + select_data_source_url: '/v1/season-types', + select_custom_options: [], + select_label_key: 'name', + select_value_key: 'name', + }, + { + filed_label: 'Status', + filter_column: 'main__status', + field_type: FILTER_FIELD_TYPE.input_text, + filter_type: FILTER_TYPE.TEXT_EQUAL, + // select_data_source_url: '/v1/season-types', + // select_custom_options: [], + // select_label_key: 'code', + // select_value_key: 'code', + }, + ], }; diff --git a/src/modules/reports/shared/helpers/query-builder.ts b/src/modules/reports/shared/helpers/query-builder.ts index 825b76f..6c58e96 100644 --- a/src/modules/reports/shared/helpers/query-builder.ts +++ b/src/modules/reports/shared/helpers/query-builder.ts @@ -360,8 +360,10 @@ export class ReportQueryBuilder { }); } - const tableWhereConditions = [...whereCondition, ...whereParts]; - const defaultWhereConditions = defaultWhereOptions; + const tableWhereConditions = [...whereCondition, ...whereParts].filter( + Boolean, + ); + const defaultWhereConditions = defaultWhereOptions.filter(Boolean); if (tableWhereConditions.length > 0) { return `WHERE (${