From be738bb49b55d314de1fad286c01726fee2f112f Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Mon, 8 Jul 2024 17:35:16 +0700 Subject: [PATCH] feat: setup report transaction --- .../shared/configs/general-report/index.ts | 5 --- src/modules/reports/shared/configs/index.ts | 4 +- .../tenant-report/configs/sample.report.ts | 2 +- .../configs/booking.ts} | 4 +- .../configs/cash-withdrawals.ts | 40 +++++++++++++++++++ .../transaction-report/configs/cashier-log.ts | 40 +++++++++++++++++++ .../transaction-report/configs/income.ts | 40 +++++++++++++++++++ .../transaction-report/configs/refunds.ts | 40 +++++++++++++++++++ .../configs/revenue-per-item.ts | 40 +++++++++++++++++++ .../configs/sales-qty-per-item.ts | 40 +++++++++++++++++++ .../configs/time-per-ride.ts | 40 +++++++++++++++++++ .../configs/visitors-per-ride.ts | 40 +++++++++++++++++++ .../configs/transaction-report/index.ts | 23 +++++++++++ 13 files changed, 348 insertions(+), 10 deletions(-) delete mode 100644 src/modules/reports/shared/configs/general-report/index.ts rename src/modules/reports/shared/configs/{general-report/configs/sample.report.ts => transaction-report/configs/booking.ts} (90%) create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/cash-withdrawals.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/cashier-log.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/income.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/refunds.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/revenue-per-item.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/sales-qty-per-item.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/time-per-ride.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/visitors-per-ride.ts create mode 100644 src/modules/reports/shared/configs/transaction-report/index.ts diff --git a/src/modules/reports/shared/configs/general-report/index.ts b/src/modules/reports/shared/configs/general-report/index.ts deleted file mode 100644 index 1bba05d..0000000 --- a/src/modules/reports/shared/configs/general-report/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { ReportConfigEntity } from '../../entities/report-config.entity'; - -import SampleReport from './configs/sample.report'; - -export const GeneralReportConfig: ReportConfigEntity[] = [SampleReport]; diff --git a/src/modules/reports/shared/configs/index.ts b/src/modules/reports/shared/configs/index.ts index 603161a..dc19755 100644 --- a/src/modules/reports/shared/configs/index.ts +++ b/src/modules/reports/shared/configs/index.ts @@ -1,8 +1,8 @@ import { ReportConfigEntity } from '../entities/report-config.entity'; -import { GeneralReportConfig } from './general-report'; +import { TransactionReportConfig } from './transaction-report'; import { TenantReportConfig } from './tenant-report'; export const ReportConfigs: ReportConfigEntity[] = [ - ...GeneralReportConfig, + ...TransactionReportConfig, ...TenantReportConfig, ]; diff --git a/src/modules/reports/shared/configs/tenant-report/configs/sample.report.ts b/src/modules/reports/shared/configs/tenant-report/configs/sample.report.ts index 62f2871..6718cff 100644 --- a/src/modules/reports/shared/configs/tenant-report/configs/sample.report.ts +++ b/src/modules/reports/shared/configs/tenant-report/configs/sample.report.ts @@ -4,7 +4,7 @@ import { ReportConfigEntity } from '../../../entities/report-config.entity'; export default { group_name: REPORT_GROUP.tenant_report, unique_name: `${REPORT_GROUP.tenant_report}__sample`, - label: 'Sample Tenant Report ', + label: 'Sample Tenant Report', table_schema: 'season_types main', main_table_alias: 'main', defaultOrderBy: [], diff --git a/src/modules/reports/shared/configs/general-report/configs/sample.report.ts b/src/modules/reports/shared/configs/transaction-report/configs/booking.ts similarity index 90% rename from src/modules/reports/shared/configs/general-report/configs/sample.report.ts rename to src/modules/reports/shared/configs/transaction-report/configs/booking.ts index 50dd529..7df7031 100644 --- a/src/modules/reports/shared/configs/general-report/configs/sample.report.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/booking.ts @@ -3,8 +3,8 @@ import { ReportConfigEntity } from '../../../entities/report-config.entity'; export default { group_name: REPORT_GROUP.transaction_report, - unique_name: `${REPORT_GROUP.transaction_report}__sample`, - label: 'Sample General Report ', + unique_name: `${REPORT_GROUP.transaction_report}__booking`, + label: 'Pemesanan', table_schema: 'season_types main', main_table_alias: 'main', defaultOrderBy: [], diff --git a/src/modules/reports/shared/configs/transaction-report/configs/cash-withdrawals.ts b/src/modules/reports/shared/configs/transaction-report/configs/cash-withdrawals.ts new file mode 100644 index 0000000..48616b1 --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/cash-withdrawals.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__cash_withdrawals`, + label: 'Penarikan Kas', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/cashier-log.ts b/src/modules/reports/shared/configs/transaction-report/configs/cashier-log.ts new file mode 100644 index 0000000..5ad5d52 --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/cashier-log.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__cashier_log`, + label: 'Kasir Log', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income.ts b/src/modules/reports/shared/configs/transaction-report/configs/income.ts new file mode 100644 index 0000000..2a80ddd --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/income.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__income`, + label: 'Pendapatan', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/refunds.ts b/src/modules/reports/shared/configs/transaction-report/configs/refunds.ts new file mode 100644 index 0000000..7aa70e0 --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/refunds.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__refunds`, + label: 'Pengembalian', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/revenue-per-item.ts b/src/modules/reports/shared/configs/transaction-report/configs/revenue-per-item.ts new file mode 100644 index 0000000..9145830 --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/revenue-per-item.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__revenue_per_item`, + label: 'Pendapatan per Item', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/sales-qty-per-item.ts b/src/modules/reports/shared/configs/transaction-report/configs/sales-qty-per-item.ts new file mode 100644 index 0000000..d3a5e1a --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/sales-qty-per-item.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__sales_qty_per_item`, + label: 'Qty Penjualan per Item', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/time-per-ride.ts b/src/modules/reports/shared/configs/transaction-report/configs/time-per-ride.ts new file mode 100644 index 0000000..7910e1c --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/time-per-ride.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__time_per_ride`, + label: 'Waktu per Wahana', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/configs/visitors-per-ride.ts b/src/modules/reports/shared/configs/transaction-report/configs/visitors-per-ride.ts new file mode 100644 index 0000000..f062db7 --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/visitors-per-ride.ts @@ -0,0 +1,40 @@ +import { DATA_FORMAT, DATA_TYPE, REPORT_GROUP } from '../../../constant'; +import { ReportConfigEntity } from '../../../entities/report-config.entity'; + +export default { + group_name: REPORT_GROUP.transaction_report, + unique_name: `${REPORT_GROUP.transaction_report}__visitors_per_ride`, + label: 'Pengunjung per Wahana', + table_schema: 'season_types main', + main_table_alias: 'main', + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Created Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__updated_at', + query: 'main.updated_at', + label: 'Updated Date', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + }, + { + column: 'main__name', + query: 'main.name', + label: 'Name', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/index.ts b/src/modules/reports/shared/configs/transaction-report/index.ts new file mode 100644 index 0000000..67fbeba --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/index.ts @@ -0,0 +1,23 @@ +import { ReportConfigEntity } from '../../entities/report-config.entity'; + +import IncomeReport from './configs/income'; +import RevenuePerItemReport from './configs/revenue-per-item'; +import SalesQtyPerItemReport from './configs/sales-qty-per-item'; +import VisitorsPerRideReport from './configs/visitors-per-ride'; +import TimePerRideReport from './configs/time-per-ride'; +import BookingReport from './configs/booking'; +import RefundsReport from './configs/refunds'; +import CashierLogReport from './configs/cashier-log'; +import CashWithdrawalsReport from './configs/cash-withdrawals'; + +export const TransactionReportConfig: ReportConfigEntity[] = [ + IncomeReport, + RevenuePerItemReport, + SalesQtyPerItemReport, + VisitorsPerRideReport, + TimePerRideReport, + BookingReport, + RefundsReport, + CashierLogReport, + CashWithdrawalsReport, +]; -- 2.40.1