From d911f80ff986e55bfb6d8b50c8d6c7f8c1c67798 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Mon, 7 Oct 2024 10:40:47 +0700 Subject: [PATCH 01/11] feat: add pos name and pos number at report reconciliation --- .../configs/reconciliation.ts | 26 +++++++++++++++++++ .../configs/transaction-report/index.ts | 5 +--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts b/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts index 188fc72..395da96 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts @@ -36,6 +36,20 @@ export default { type: DATA_TYPE.DIMENSION, format: DATA_FORMAT.TEXT, }, + { + column: 'main__creator_counter_no', + query: 'main.creator_counter_no', + label: 'No.PoS', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + { + column: 'main__creator_counter_name', + query: 'main.creator_counter_name', + label: 'Nama PoS', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, { column: 'main__payment_date', query: `CASE WHEN main.payment_date is not null THEN to_char(main.payment_date, 'DD-MM-YYYY') ELSE null END`, @@ -140,6 +154,18 @@ export default { filter_type: FILTER_TYPE.TEXT_IN_MEMBER, select_custom_options: [...Object.values(TransactionType)], }, + { + filed_label: 'No. PoS', + filter_column: 'main__creator_counter_no', + field_type: FILTER_FIELD_TYPE.input_number, + filter_type: FILTER_TYPE.NUMBER_EQUAL, + }, + { + filed_label: 'Nama PoS', + filter_column: 'main__creator_counter_name', + field_type: FILTER_FIELD_TYPE.input_tag, + filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS, + }, { filed_label: 'Tgl. Transaksi', filter_column: 'main__payment_date', diff --git a/src/modules/reports/shared/configs/transaction-report/index.ts b/src/modules/reports/shared/configs/transaction-report/index.ts index 454a22a..e57735d 100644 --- a/src/modules/reports/shared/configs/transaction-report/index.ts +++ b/src/modules/reports/shared/configs/transaction-report/index.ts @@ -5,8 +5,6 @@ import CancelReport from './configs/cancel-transaction'; import IncomeReportPerItem from './configs/income-per-item'; import IncomeReportPerItemMaster from './configs/income-per-item-master'; import GivingDiscount from './configs/giving-discounts'; -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'; @@ -21,8 +19,7 @@ export const TransactionReportConfig: ReportConfigEntity[] = [ IncomeReportPerItemMaster, CancelReport, GivingDiscount, - // VisitorsPerRideReport, - // TimePerRideReport, + BookingReport, RefundsReport, CashierLogReport, From 411458fe4cb4e0ede12ae39d488d2390a4d5ab0b Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:58:31 +0700 Subject: [PATCH 02/11] feat: add pos name and pos number at report reconciliation --- .../configs/reconciliation.ts | 21 +++++++++++++++++++ .../configs/transaction-report/index.ts | 1 - 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts b/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts index 395da96..3466e14 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts @@ -120,6 +120,27 @@ export default { type: DATA_TYPE.MEASURE, format: DATA_FORMAT.CURRENCY, }, + { + column: 'main__total_cash', + query: `CASE WHEN main.payment_type ='cash' and main.reconciliation_status ='confirmed' THEN main.payment_total ELSE 0 END`, + label: 'Total Tunai', + type: DATA_TYPE.MEASURE, + format: DATA_FORMAT.CURRENCY, + }, + { + column: 'main__total_transaction_bank', + query: `CASE WHEN main.payment_type !='cash' and main.reconciliation_status ='confirmed' THEN main.payment_total ELSE 0 END`, + label: 'Total Transaksi Bank', + type: DATA_TYPE.MEASURE, + format: DATA_FORMAT.CURRENCY, + }, + { + column: 'main__total_outstanding', + query: `CASE WHEN main.payment_type !='cash' and main.reconciliation_status ='pending' THEN main.payment_total ELSE 0 END`, + label: 'Total Outstanding', + type: DATA_TYPE.MEASURE, + format: DATA_FORMAT.CURRENCY, + }, { column: 'cashier', query: `CASE WHEN main.type = 'counter' THEN main.creator_name END`, diff --git a/src/modules/reports/shared/configs/transaction-report/index.ts b/src/modules/reports/shared/configs/transaction-report/index.ts index e57735d..01b7ae5 100644 --- a/src/modules/reports/shared/configs/transaction-report/index.ts +++ b/src/modules/reports/shared/configs/transaction-report/index.ts @@ -19,7 +19,6 @@ export const TransactionReportConfig: ReportConfigEntity[] = [ IncomeReportPerItemMaster, CancelReport, GivingDiscount, - BookingReport, RefundsReport, CashierLogReport, From 901c67137b873a3202fe88b9fe4d113af48c4c29 Mon Sep 17 00:00:00 2001 From: shancheas Date: Tue, 8 Oct 2024 15:40:54 +0700 Subject: [PATCH 03/11] feat: calculate discount for bundling --- .../managers/helpers/mapping-transaction.helper.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts b/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts index 6940c52..b56f44f 100644 --- a/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts +++ b/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts @@ -189,11 +189,19 @@ export function mappingRevertTransaction(data, type) { const total_share_tenant = share_margin > 0 ? (Number(share_margin) / 100) * total_price : 0; + const bundlingTotalPrice = + (item.item?.bundling_items?.reduce( + (a, b) => a + Number(b.item_rates ?? b.base_price), + 0, + ) ?? 0) * +item.qty; + const totalAndBundlingRatio = total_price / bundlingTotalPrice; item.bundling_items = item.item.bundling_items?.map((bundling) => { if (bundling.item_id) return bundling; const basePrice = - (bundling.item_rates ?? bundling.base_price) * +item.qty; + (bundling.item_rates ?? bundling.base_price) * + +item.qty * + totalAndBundlingRatio; const discount = discountPercent * basePrice; const total = basePrice - discount; From 198dcb4933a8f844f6816ac546f78c6e0d24445a Mon Sep 17 00:00:00 2001 From: shancheas Date: Tue, 8 Oct 2024 16:26:40 +0700 Subject: [PATCH 04/11] feat: add discount value to vip code --- ...377112337-add-discount-value-to-voucher.ts | 25 +++++++++++++++++++ .../handlers/pos-transaction.handler.ts | 6 ----- .../vip-code/data/models/vip-code.model.ts | 6 ++++- .../domain/entities/vip-code.entity.ts | 1 + .../infrastructure/dto/vip-code.dto.ts | 11 +++++++- 5 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 src/database/migrations/1728377112337-add-discount-value-to-voucher.ts diff --git a/src/database/migrations/1728377112337-add-discount-value-to-voucher.ts b/src/database/migrations/1728377112337-add-discount-value-to-voucher.ts new file mode 100644 index 0000000..8fe627a --- /dev/null +++ b/src/database/migrations/1728377112337-add-discount-value-to-voucher.ts @@ -0,0 +1,25 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddDiscountValueToVoucher1728377112337 + implements MigrationInterface +{ + name = 'AddDiscountValueToVoucher1728377112337'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "vip_codes" ADD "discount_value" numeric`, + ); + await queryRunner.query( + `ALTER TABLE "vip_codes" ALTER COLUMN "discount" DROP NOT NULL`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "vip_codes" ALTER COLUMN "discount" SET NOT NULL`, + ); + await queryRunner.query( + `ALTER TABLE "vip_codes" DROP COLUMN "discount_value"`, + ); + } +} diff --git a/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts b/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts index b1915e4..1207198 100644 --- a/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts +++ b/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts @@ -51,12 +51,6 @@ export class PosTransactionHandler implements IEventHandler { }, }); - const taxes = await this.taxService.getManyByOptions({ - where: { - status: STATUS.ACTIVE, - }, - }); - const queryRunner = this.dataService .getRepository() .manager.connection.createQueryRunner(); diff --git a/src/modules/transaction/vip-code/data/models/vip-code.model.ts b/src/modules/transaction/vip-code/data/models/vip-code.model.ts index 1b22d91..314b047 100644 --- a/src/modules/transaction/vip-code/data/models/vip-code.model.ts +++ b/src/modules/transaction/vip-code/data/models/vip-code.model.ts @@ -12,11 +12,15 @@ export class VipCodeModel @Column('varchar', { name: 'code' }) code: string; - @Column('integer', { name: 'discount' }) + @Column('integer', { name: 'discount', nullable: true }) discount: number; + @Column('decimal', { nullable: true }) + discount_value: number; + @Column('varchar', { name: 'vip_category_id' }) vip_category_id: string; + @ManyToOne(() => VipCategoryModel, (model) => model.vip_codes, { onDelete: 'CASCADE', onUpdate: 'CASCADE', diff --git a/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts b/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts index a713c58..ceabcf8 100644 --- a/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts +++ b/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts @@ -3,4 +3,5 @@ import { BaseEntity } from 'src/core/modules/domain/entities/base.entity'; export interface VipCodeEntity extends BaseEntity { code: string; discount: number; + discount_value?: number; } diff --git a/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts b/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts index 9903730..1666c7f 100644 --- a/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts +++ b/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts @@ -16,12 +16,21 @@ export class VipCodeDto extends BaseDto implements VipCodeEntity { @ApiProperty({ name: 'discount', type: Number, - required: true, + required: false, example: 85, }) @IsNumber() discount: number; + @ApiProperty({ + name: 'discount_value', + type: Number, + required: false, + example: 25000, + }) + @IsNumber() + discount_value: number; + @ApiProperty({ name: 'vip_category', type: Object, From 0dfaeb204537c4f5707bdec27bcbf5c53e91b89c Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Tue, 8 Oct 2024 20:00:09 +0700 Subject: [PATCH 05/11] feat: add low level order --- .../transaction-report/configs/income-per-item-master.ts | 6 +++++- .../configs/transaction-report/configs/income-per-item.ts | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts index a78f42d..69448ae 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts @@ -34,7 +34,11 @@ export default { }, ], defaultOrderBy: [], - lowLevelOrderBy: [], + lowLevelOrderBy: [ + `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, + `tr_item.id DESC`, + `tr_item_bundling.id DESC`, + ], filter_period_config: { hidden: true, }, diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts index cc61dd3..dadcddd 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts @@ -33,7 +33,10 @@ export default { }, ], defaultOrderBy: [], - lowLevelOrderBy: [], + lowLevelOrderBy: [ + `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, + `tr_item.id DESC`, + ], filter_period_config: { hidden: true, }, From 60167cd807df95ef1636981606c14fd6b0bceddf Mon Sep 17 00:00:00 2001 From: shancheas Date: Wed, 9 Oct 2024 12:49:34 +0700 Subject: [PATCH 06/11] fix: change bundling item edit from item_id to total_net_price --- .../usecases/managers/helpers/mapping-transaction.helper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts b/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts index b56f44f..3a6ab2e 100644 --- a/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts +++ b/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts @@ -196,7 +196,7 @@ export function mappingRevertTransaction(data, type) { ) ?? 0) * +item.qty; const totalAndBundlingRatio = total_price / bundlingTotalPrice; item.bundling_items = item.item.bundling_items?.map((bundling) => { - if (bundling.item_id) return bundling; + if (bundling.total_net_price) return bundling; const basePrice = (bundling.item_rates ?? bundling.base_price) * From 0e65fb8a9ac3672d07afe52a84392d7f219d2a3e Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:49:22 +0700 Subject: [PATCH 07/11] feat(SPG-992): penyesuaian kolom total tunai di report reconcile --- .../shared/configs/transaction-report/configs/reconciliation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts b/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts index 3466e14..2baef43 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/reconciliation.ts @@ -122,7 +122,7 @@ export default { }, { column: 'main__total_cash', - query: `CASE WHEN main.payment_type ='cash' and main.reconciliation_status ='confirmed' THEN main.payment_total ELSE 0 END`, + query: `CASE WHEN main.payment_type ='cash' and main.reconciliation_status in('confirmed','pending') THEN main.payment_total ELSE 0 END`, label: 'Total Tunai', type: DATA_TYPE.MEASURE, format: DATA_FORMAT.CURRENCY, From 7213e7915ba6af35a002278730b414f23b7fd10f Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:57:20 +0700 Subject: [PATCH 08/11] feat: adjustment default sorting on report income per item and report per item master --- .../transaction-report/configs/income-per-item-master.ts | 8 ++------ .../configs/transaction-report/configs/income-per-item.ts | 7 ++----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts index 69448ae..4ab0948 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts @@ -33,12 +33,8 @@ export default { values: [false], }, ], - defaultOrderBy: [], - lowLevelOrderBy: [ - `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, - `tr_item.id DESC`, - `tr_item_bundling.id DESC`, - ], + defaultOrderBy: [`to_char(main.payment_date, 'DD-MM-YYYY') DESC`], + lowLevelOrderBy: [`tr_item.id DESC`, `tr_item_bundling.id DESC`], filter_period_config: { hidden: true, }, diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts index dadcddd..f37e508 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts @@ -32,11 +32,8 @@ export default { values: [false], }, ], - defaultOrderBy: [], - lowLevelOrderBy: [ - `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, - `tr_item.id DESC`, - ], + defaultOrderBy: [`to_char(main.payment_date, 'DD-MM-YYYY') DESC`], + lowLevelOrderBy: [`tr_item.id DESC`], filter_period_config: { hidden: true, }, From f2c409fc3553b54dc751ff132021517f1edce61e Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:58:13 +0700 Subject: [PATCH 09/11] feat: adjustment default sorting on report income per item and report per item master --- .../configs/income-per-item-master.ts | 12 ++++++++++-- .../transaction-report/configs/income-per-item.ts | 11 +++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts index 4ab0948..201bb1e 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item-master.ts @@ -33,8 +33,16 @@ export default { values: [false], }, ], - defaultOrderBy: [`to_char(main.payment_date, 'DD-MM-YYYY') DESC`], - lowLevelOrderBy: [`tr_item.id DESC`, `tr_item_bundling.id DESC`], + defaultOrderBy: [ + `main.updated_at DESC`, + `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, + ], + lowLevelOrderBy: [ + `main.updated_at DESC`, + `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, + `tr_item.id DESC`, + `tr_item_bundling.id DESC`, + ], filter_period_config: { hidden: true, }, diff --git a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts index f37e508..45c6ff7 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/income-per-item.ts @@ -32,8 +32,15 @@ export default { values: [false], }, ], - defaultOrderBy: [`to_char(main.payment_date, 'DD-MM-YYYY') DESC`], - lowLevelOrderBy: [`tr_item.id DESC`], + defaultOrderBy: [ + `main.updated_at DESC`, + `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, + ], + lowLevelOrderBy: [ + `main.updated_at DESC`, + `to_char(main.payment_date, 'DD-MM-YYYY') DESC`, + `tr_item.id DESC`, + ], filter_period_config: { hidden: true, }, From e2a6878e716d09e7f7cd4a684e59de2c92f45edf Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:48:31 +0700 Subject: [PATCH 10/11] feat(SPG-997): add report vip code --- .../transaction-report/configs/vip_code.ts | 98 +++++++++++++++++++ .../configs/transaction-report/index.ts | 2 + 2 files changed, 100 insertions(+) create mode 100644 src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts diff --git a/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts b/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts new file mode 100644 index 0000000..7449069 --- /dev/null +++ b/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts @@ -0,0 +1,98 @@ +import { + DATA_FORMAT, + DATA_TYPE, + FILTER_FIELD_TYPE, + FILTER_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}__vid_code`, + label: 'Kode VIP', + table_schema: `vip_codes main + LEFT JOIN ( + select + tr.discount_code_id AS vip_code_id, + COUNT(tr.discount_code_id) AS total_transaction + from transactions tr + where tr.discount_code_id is not null + group by tr.discount_code_id + ) voucher_used ON voucher_used.vip_code_id::uuid = main.id`, + main_table_alias: 'main', + whereDefaultConditions: [], + defaultOrderBy: [], + lowLevelOrderBy: [], + filter_period_config: { + hidden: true, + }, + + column_configs: [ + { + column: 'main__code', + query: 'main.code', + label: 'Kode Voucher', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + { + column: 'main__discount', + query: 'CASE WHEN main.discount > 0 THEN main.discount ELSE null END', + label: 'Diskon (%)', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + { + column: 'main__discount_value', + query: + 'CASE WHEN main.discount_value > 0 THEN main.discount_value ELSE null END', + label: 'Diskon (Rp)', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.CURRENCY, + }, + { + column: 'voucher_used__total_transaction', + query: 'voucher_used.total_transaction', + label: 'Jumlah Transaksi', + type: DATA_TYPE.MEASURE, + format: DATA_FORMAT.TEXT, + }, + { + column: 'main__created_at', + query: 'main.created_at', + label: 'Tgl. Dibuat', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.DATE_EPOCH, + date_format: 'DD-MM-YYYY', + }, + { + column: 'main__creator_name', + query: 'main.creator_name', + label: 'Dibuat Oleh', + type: DATA_TYPE.DIMENSION, + format: DATA_FORMAT.TEXT, + }, + ], + filter_configs: [ + { + filed_label: 'Kode Voucher', + filter_column: 'main__code', + field_type: FILTER_FIELD_TYPE.input_tag, + filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS, + }, + { + filed_label: 'Dibuat Oleh', + filter_column: 'main__creator_name', + field_type: FILTER_FIELD_TYPE.input_tag, + filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS, + }, + + { + filed_label: 'Tgl. Dibuat', + filter_column: 'main__created_at', + field_type: FILTER_FIELD_TYPE.date_range_picker, + filter_type: FILTER_TYPE.DATE_IN_RANGE_EPOCH, + }, + ], +}; diff --git a/src/modules/reports/shared/configs/transaction-report/index.ts b/src/modules/reports/shared/configs/transaction-report/index.ts index 01b7ae5..e996100 100644 --- a/src/modules/reports/shared/configs/transaction-report/index.ts +++ b/src/modules/reports/shared/configs/transaction-report/index.ts @@ -12,6 +12,7 @@ import CashWithdrawalsReport from './configs/cash-withdrawals'; import ReconciliationReport from './configs/reconciliation'; import TaxReport from './configs/tax'; import DemographyReport from './configs/demography'; +import VipCodeReport from './configs/vip_code'; export const TransactionReportConfig: ReportConfigEntity[] = [ IncomeReport, @@ -26,4 +27,5 @@ export const TransactionReportConfig: ReportConfigEntity[] = [ ReconciliationReport, TaxReport, DemographyReport, + VipCodeReport, ]; From 55ddc9b6057e5ec81a59ea036254fcd74f8ac683 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:59:20 +0700 Subject: [PATCH 11/11] feat(SPG-997): add report vip code --- .../configs/transaction-report/configs/vip_code.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts b/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts index 7449069..a23ece7 100644 --- a/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts +++ b/src/modules/reports/shared/configs/transaction-report/configs/vip_code.ts @@ -23,11 +23,10 @@ export default { main_table_alias: 'main', whereDefaultConditions: [], defaultOrderBy: [], - lowLevelOrderBy: [], + lowLevelOrderBy: [`main.created_at DESC`], filter_period_config: { hidden: true, }, - column_configs: [ { column: 'main__code', @@ -60,11 +59,10 @@ export default { }, { column: 'main__created_at', - query: 'main.created_at', + query: `to_char(cast(to_timestamp(main.created_at/1000) as date),'DD-MM-YYYY')`, label: 'Tgl. Dibuat', type: DATA_TYPE.DIMENSION, - format: DATA_FORMAT.DATE_EPOCH, - date_format: 'DD-MM-YYYY', + format: DATA_FORMAT.TEXT, }, { column: 'main__creator_name', @@ -90,9 +88,10 @@ export default { { filed_label: 'Tgl. Dibuat', - filter_column: 'main__created_at', + filter_column: 'main__date', field_type: FILTER_FIELD_TYPE.date_range_picker, - filter_type: FILTER_TYPE.DATE_IN_RANGE_EPOCH, + filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP, + date_format: 'DD-MM-YYYY', }, ], };