Compare commits
No commits in common. "5eb50c952f927ebe3bbeae04ef58a7b83f8156bb" and "3de7bfbbe5f8520200a39353e734b993f600dec2" have entirely different histories.
5eb50c952f
...
3de7bfbbe5
|
@ -99,6 +99,7 @@ export class ReportService extends BaseReportService {
|
||||||
const builder = new ReportQueryBuilder(reportConfig, queryModel);
|
const builder = new ReportQueryBuilder(reportConfig, queryModel);
|
||||||
const SQL = builder.getSql();
|
const SQL = builder.getSql();
|
||||||
const queryResult = await this.dataSource.query(SQL);
|
const queryResult = await this.dataSource.query(SQL);
|
||||||
|
|
||||||
const realData = [];
|
const realData = [];
|
||||||
const configColumns = reportConfig.column_configs;
|
const configColumns = reportConfig.column_configs;
|
||||||
|
|
||||||
|
|
|
@ -7,4 +7,17 @@ export default <ReportConfigEntity>{
|
||||||
group_name: REPORT_GROUP.tenant_report,
|
group_name: REPORT_GROUP.tenant_report,
|
||||||
unique_name: `${REPORT_GROUP.tenant_report}__income_per_item_master`,
|
unique_name: `${REPORT_GROUP.tenant_report}__income_per_item_master`,
|
||||||
label: 'Pendapatan',
|
label: 'Pendapatan',
|
||||||
|
whereCondition(filterModel) {
|
||||||
|
const queryFilter = [];
|
||||||
|
const breakdown = filterModel.tr_item__breakdown_bundling;
|
||||||
|
if (breakdown) {
|
||||||
|
console.log({ breakdown });
|
||||||
|
const value = breakdown.filter.map((item) => {
|
||||||
|
return item === 'Yes' ? true : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
queryFilter.push(`tr_item.breakdown_bundling in (${value.join()})`);
|
||||||
|
}
|
||||||
|
return queryFilter;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -39,16 +39,17 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__booking_date',
|
column: 'main__booking_date',
|
||||||
query: `to_char(main.booking_date, 'DD-MM-YYYY')`,
|
query: 'main.booking_date',
|
||||||
label: 'Tgl. Booking',
|
label: 'Tgl. Booking',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__no_of_group',
|
column: 'main__no_of_group',
|
||||||
query: 'main.no_of_group::NUMERIC',
|
query: 'main.no_of_group',
|
||||||
label: '#Visitor',
|
label: '#Visitor',
|
||||||
type: DATA_TYPE.MEASURE,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.NUMBER,
|
format: DATA_FORMAT.NUMBER,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -110,10 +111,11 @@ export default <ReportConfigEntity>{
|
||||||
|
|
||||||
{
|
{
|
||||||
column: 'main__invoice_date',
|
column: 'main__invoice_date',
|
||||||
query: `to_char(main.invoice_date, 'DD-MM-YYYY')`,
|
query: 'main.invoice_date',
|
||||||
label: 'Tgl. Invoice',
|
label: 'Tgl. Invoice',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__invoice_code',
|
column: 'main__invoice_code',
|
||||||
|
@ -124,17 +126,19 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__settlement_date',
|
column: 'main__settlement_date',
|
||||||
query: `to_char(main.settlement_date, 'DD-MM-YYYY')`,
|
query: 'main.settlement_date',
|
||||||
label: 'Tgl Settlement',
|
label: 'Tgl Settlement',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__request_date',
|
column: 'refund__request_date',
|
||||||
query: `to_char(refund.request_date, 'DD-MM-YYYY')`,
|
query: 'refund.request_date',
|
||||||
label: 'Request Refund',
|
label: 'Request Refund',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__code',
|
column: 'refund__code',
|
||||||
|
@ -145,11 +149,13 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__refund_date',
|
column: 'refund__refund_date',
|
||||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
query: 'refund.refund_date',
|
||||||
label: 'Tgl. Refund',
|
label: 'Tgl. Refund',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
column: 'main__creator_name',
|
column: 'main__creator_name',
|
||||||
query: 'main.creator_name',
|
query: 'main.creator_name',
|
||||||
|
@ -184,7 +190,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__booking_date',
|
filter_column: 'main__booking_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Sumber',
|
filed_label: 'Sumber',
|
||||||
|
@ -226,7 +231,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__invoice_date',
|
filter_column: 'main__invoice_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Invoice',
|
filed_label: 'Kode Invoice',
|
||||||
|
@ -239,14 +243,12 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__settlement_date',
|
filter_column: 'main__settlement_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Request Refund',
|
filed_label: 'Request Refund',
|
||||||
filter_column: 'refund__request_date',
|
filter_column: 'refund__request_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Refund',
|
filed_label: 'Kode Refund',
|
||||||
|
@ -259,7 +261,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Dibuat Oleh',
|
filed_label: 'Dibuat Oleh',
|
||||||
|
|
|
@ -29,10 +29,11 @@ export default <ReportConfigEntity>{
|
||||||
column_configs: [
|
column_configs: [
|
||||||
{
|
{
|
||||||
column: 'main__date',
|
column: 'main__date',
|
||||||
query: `to_char(cast(to_timestamp(main.created_at/1000) as date),'DD-MM-YYYY')`,
|
query: 'main.created_at',
|
||||||
label: 'Tanggal',
|
label: 'Tanggal',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_EPOCH,
|
||||||
|
date_format: 'DD-MM-YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__time',
|
column: 'main__time',
|
||||||
|
@ -63,13 +64,6 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main__pos_name',
|
|
||||||
query: 'main.pos_name',
|
|
||||||
label: 'Nama PoS',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
column: 'main__total_balance',
|
column: 'main__total_balance',
|
||||||
query: 'main.total_balance',
|
query: 'main.total_balance',
|
||||||
|
@ -83,8 +77,7 @@ export default <ReportConfigEntity>{
|
||||||
filed_label: 'Tanggal',
|
filed_label: 'Tanggal',
|
||||||
filter_column: 'main__date',
|
filter_column: 'main__date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_EPOCH,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Nama Penarik',
|
filed_label: 'Nama Penarik',
|
||||||
|
@ -105,7 +98,4 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.NUMBER_EQUAL,
|
filter_type: FILTER_TYPE.NUMBER_EQUAL,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
whereCondition(filterModel) {
|
|
||||||
return [`main.created_at is not null`];
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,10 +29,11 @@ export default <ReportConfigEntity>{
|
||||||
column_configs: [
|
column_configs: [
|
||||||
{
|
{
|
||||||
column: 'main__date',
|
column: 'main__date',
|
||||||
query: `to_char(cast(to_timestamp(main.created_at/1000) as date),'DD-MM-YYYY')`,
|
query: 'main.created_at',
|
||||||
label: 'Tanggal',
|
label: 'Tanggal',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_EPOCH,
|
||||||
|
date_format: 'DD-MM-YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__time',
|
column: 'main__time',
|
||||||
|
@ -63,21 +64,13 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main__pos_name',
|
|
||||||
query: 'main.pos_name',
|
|
||||||
label: 'Nama PoS',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
filter_configs: [
|
filter_configs: [
|
||||||
{
|
{
|
||||||
filed_label: 'Tanggal',
|
filed_label: 'Tanggal',
|
||||||
filter_column: 'main__date',
|
filter_column: 'main__date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_EPOCH,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tipe',
|
filed_label: 'Tipe',
|
||||||
|
|
|
@ -31,11 +31,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
||||||
values: [TransactionType.COUNTER],
|
values: [TransactionType.COUNTER],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main.is_recap_transaction',
|
|
||||||
filter_type: FILTER_TYPE.TEXT_EQUAL,
|
|
||||||
values: [false],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
defaultOrderBy: [],
|
defaultOrderBy: [],
|
||||||
lowLevelOrderBy: [],
|
lowLevelOrderBy: [],
|
||||||
|
@ -45,11 +40,12 @@ export default <ReportConfigEntity>{
|
||||||
|
|
||||||
column_configs: [
|
column_configs: [
|
||||||
{
|
{
|
||||||
column: 'main__payment_date',
|
column: 'main__settlement_date',
|
||||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
query: 'main.settlement_date',
|
||||||
label: 'Tgl. Transaksi',
|
label: 'Tanggal Transaksi',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 's_period_type__name',
|
column: 's_period_type__name',
|
||||||
|
@ -58,6 +54,13 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// column: 'main__invoice_code',
|
||||||
|
// query: 'main.invoice_code',
|
||||||
|
// label: 'Kode Transaksi',
|
||||||
|
// type: DATA_TYPE.DIMENSION,
|
||||||
|
// format: DATA_FORMAT.TEXT,
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
column: 'main__invoice_code',
|
column: 'main__invoice_code',
|
||||||
query: `CASE WHEN main.type != 'counter' THEN main.invoice_code ELSE null END`,
|
query: `CASE WHEN main.type != 'counter' THEN main.invoice_code ELSE null END`,
|
||||||
|
@ -128,13 +131,6 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
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__customer_name',
|
column: 'main__customer_name',
|
||||||
query: 'main.customer_name',
|
query: 'main.customer_name',
|
||||||
|
@ -159,11 +155,10 @@ export default <ReportConfigEntity>{
|
||||||
],
|
],
|
||||||
filter_configs: [
|
filter_configs: [
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Transaksi',
|
filed_label: 'Tanggal Transaksi',
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__settlement_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tipe Rate',
|
filed_label: 'Tipe Rate',
|
||||||
|
|
|
@ -27,11 +27,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
||||||
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main.is_recap_transaction',
|
|
||||||
filter_type: FILTER_TYPE.TEXT_EQUAL,
|
|
||||||
values: [false],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
defaultOrderBy: [],
|
defaultOrderBy: [],
|
||||||
lowLevelOrderBy: [],
|
lowLevelOrderBy: [],
|
||||||
|
@ -41,18 +36,12 @@ export default <ReportConfigEntity>{
|
||||||
|
|
||||||
column_configs: [
|
column_configs: [
|
||||||
{
|
{
|
||||||
column: 'main__payment_date',
|
column: 'main__settlement_date',
|
||||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
query: 'main.settlement_date',
|
||||||
label: 'Tgl. Pendapatan',
|
label: 'Tgl. Pendapatan',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
},
|
date_format: 'DD/MM/YYYY',
|
||||||
{
|
|
||||||
column: 'main__status',
|
|
||||||
query: 'main.status',
|
|
||||||
label: 'Status',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.STATUS,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'item_owner',
|
column: 'item_owner',
|
||||||
|
@ -90,27 +79,26 @@ export default <ReportConfigEntity>{
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'tr_item__item_type',
|
column: 'tr_item__item_name',
|
||||||
query: 'tr_item.item_type',
|
query: 'tr_item.item_name',
|
||||||
label: 'Tipe Item',
|
label: 'Nama Item',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
column: 'tr_item__breakdown_bundling',
|
||||||
|
query: 'tr_item.breakdown_bundling',
|
||||||
|
label: 'Breakdown Bundling',
|
||||||
|
type: DATA_TYPE.DIMENSION,
|
||||||
|
format: DATA_FORMAT.BOOLEAN,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
column: 'tr_item_bundling__item_name',
|
column: 'tr_item_bundling__item_name',
|
||||||
query: `CASE WHEN tr_item.item_type = 'bundling' THEN tr_item.item_name ELSE tr_item_bundling.item_name END`,
|
query: 'tr_item_bundling.item_name',
|
||||||
label: 'Nama Item Bundling',
|
label: 'Nama Item Bundling',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
column: 'tr_item__item_name',
|
|
||||||
query: `CASE WHEN tr_item.item_type = 'bundling' THEN tr_item_bundling.item_name ELSE tr_item.item_name END`,
|
|
||||||
label: 'Nama Item ',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
column: 'main__customer_type',
|
column: 'main__customer_type',
|
||||||
query: 'main.customer_type',
|
query: 'main.customer_type',
|
||||||
|
@ -125,13 +113,6 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
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: 'tr_item__qty',
|
column: 'tr_item__qty',
|
||||||
query: 'tr_item.qty',
|
query: 'tr_item.qty',
|
||||||
|
@ -183,10 +164,11 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__refund_date',
|
column: 'refund__refund_date',
|
||||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
query: 'refund.refund_date',
|
||||||
label: 'Tgl. Pengembalian',
|
label: 'Tgl. Pengembalian',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__status',
|
column: 'refund__status',
|
||||||
|
@ -209,6 +191,21 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.MEASURE,
|
type: DATA_TYPE.MEASURE,
|
||||||
format: DATA_FORMAT.NUMBER,
|
format: DATA_FORMAT.NUMBER,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
column: 'refund_item__refund_total',
|
||||||
|
query: '(refund_item.refund_total * -1)',
|
||||||
|
label: 'Total Pengembalian',
|
||||||
|
type: DATA_TYPE.MEASURE,
|
||||||
|
format: DATA_FORMAT.CURRENCY,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
column: 'transaction_balance',
|
||||||
|
query: `CASE WHEN refund.id is null THEN tr_item.total_price ELSE tr_item.total_price - refund_item.refund_total END`,
|
||||||
|
label: 'Balance',
|
||||||
|
type: DATA_TYPE.MEASURE,
|
||||||
|
format: DATA_FORMAT.CURRENCY,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
column: 'tr_item__item_tenant_share_margin',
|
column: 'tr_item__item_tenant_share_margin',
|
||||||
query: 'tr_item.item_tenant_share_margin',
|
query: 'tr_item.item_tenant_share_margin',
|
||||||
|
@ -269,10 +266,9 @@ export default <ReportConfigEntity>{
|
||||||
filter_configs: [
|
filter_configs: [
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Pendapatan',
|
filed_label: 'Tgl. Pendapatan',
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__settlement_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kepemilikan',
|
filed_label: 'Kepemilikan',
|
||||||
|
@ -312,10 +308,11 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tipe Item',
|
filed_label: 'Breakdown Item',
|
||||||
filter_column: 'tr_item__item_type',
|
filter_column: 'tr_item__breakdown_bundling',
|
||||||
field_type: FILTER_FIELD_TYPE.input_tag,
|
field_type: FILTER_FIELD_TYPE.select,
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
|
select_custom_options: ['Yes', 'No'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Nama Item Bundling',
|
filed_label: 'Nama Item Bundling',
|
||||||
|
@ -335,18 +332,11 @@ export default <ReportConfigEntity>{
|
||||||
field_type: FILTER_FIELD_TYPE.input_number,
|
field_type: FILTER_FIELD_TYPE.input_number,
|
||||||
filter_type: FILTER_TYPE.NUMBER_EQUAL,
|
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. Pengembalian',
|
filed_label: 'Tgl. Pengembalian',
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
|
|
@ -26,11 +26,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
||||||
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main.is_recap_transaction',
|
|
||||||
filter_type: FILTER_TYPE.TEXT_EQUAL,
|
|
||||||
values: [false],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
defaultOrderBy: [],
|
defaultOrderBy: [],
|
||||||
lowLevelOrderBy: [],
|
lowLevelOrderBy: [],
|
||||||
|
@ -40,18 +35,12 @@ export default <ReportConfigEntity>{
|
||||||
|
|
||||||
column_configs: [
|
column_configs: [
|
||||||
{
|
{
|
||||||
column: 'main__payment_date',
|
column: 'main__settlement_date',
|
||||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
query: 'main.settlement_date',
|
||||||
label: 'Tgl. Pendapatan',
|
label: 'Tgl. Pendapatan',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
},
|
date_format: 'DD/MM/YYYY',
|
||||||
{
|
|
||||||
column: 'main__status',
|
|
||||||
query: 'main.status',
|
|
||||||
label: 'Status',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.STATUS,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'item_owner',
|
column: 'item_owner',
|
||||||
|
@ -109,13 +98,6 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
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: 'tr_item__qty',
|
column: 'tr_item__qty',
|
||||||
query: 'tr_item.qty',
|
query: 'tr_item.qty',
|
||||||
|
@ -167,10 +149,11 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__refund_date',
|
column: 'refund__refund_date',
|
||||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
query: 'refund.refund_date',
|
||||||
label: 'Tgl. Pengembalian',
|
label: 'Tgl. Pengembalian',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__status',
|
column: 'refund__status',
|
||||||
|
@ -193,6 +176,21 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.MEASURE,
|
type: DATA_TYPE.MEASURE,
|
||||||
format: DATA_FORMAT.NUMBER,
|
format: DATA_FORMAT.NUMBER,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
column: 'refund_item__refund_total',
|
||||||
|
query: '(refund_item.refund_total * -1)',
|
||||||
|
label: 'Total Pengembalian',
|
||||||
|
type: DATA_TYPE.MEASURE,
|
||||||
|
format: DATA_FORMAT.CURRENCY,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
column: 'transaction_balance',
|
||||||
|
query: `CASE WHEN refund.id is null THEN tr_item.total_price ELSE tr_item.total_price - refund_item.refund_total END`,
|
||||||
|
label: 'Balance',
|
||||||
|
type: DATA_TYPE.MEASURE,
|
||||||
|
format: DATA_FORMAT.CURRENCY,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
column: 'tr_item__item_tenant_share_margin',
|
column: 'tr_item__item_tenant_share_margin',
|
||||||
query: 'tr_item.item_tenant_share_margin',
|
query: 'tr_item.item_tenant_share_margin',
|
||||||
|
@ -240,10 +238,9 @@ export default <ReportConfigEntity>{
|
||||||
filter_configs: [
|
filter_configs: [
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Pendapatan',
|
filed_label: 'Tgl. Pendapatan',
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__settlement_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kepemilikan',
|
filed_label: 'Kepemilikan',
|
||||||
|
@ -294,18 +291,11 @@ export default <ReportConfigEntity>{
|
||||||
field_type: FILTER_FIELD_TYPE.input_number,
|
field_type: FILTER_FIELD_TYPE.input_number,
|
||||||
filter_type: FILTER_TYPE.NUMBER_EQUAL,
|
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. Pengembalian',
|
filed_label: 'Tgl. Pengembalian',
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
|
|
@ -29,11 +29,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
||||||
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main.is_recap_transaction',
|
|
||||||
filter_type: FILTER_TYPE.TEXT_EQUAL,
|
|
||||||
values: [false],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
defaultOrderBy: [],
|
defaultOrderBy: [],
|
||||||
lowLevelOrderBy: [],
|
lowLevelOrderBy: [],
|
||||||
|
@ -43,18 +38,12 @@ export default <ReportConfigEntity>{
|
||||||
|
|
||||||
column_configs: [
|
column_configs: [
|
||||||
{
|
{
|
||||||
column: 'main__payment_date',
|
column: 'main__settlement_date',
|
||||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
query: 'main.settlement_date',
|
||||||
label: 'Tgl. Pendapatan',
|
label: 'Tgl. Pendapatan',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
},
|
date_format: 'DD/MM/YYYY',
|
||||||
{
|
|
||||||
column: 'main__status',
|
|
||||||
query: 'main.status',
|
|
||||||
label: 'Status',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.STATUS,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__type',
|
column: 'main__type',
|
||||||
|
@ -99,19 +88,12 @@ export default <ReportConfigEntity>{
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__creator_counter_name',
|
column: 'main__no_of_group',
|
||||||
query: 'main.creator_counter_name',
|
query: 'main.no_of_group',
|
||||||
label: 'Nama PoS',
|
label: '#Visitor',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
column: 'main__no_of_group',
|
|
||||||
query: 'main.no_of_group::NUMERIC',
|
|
||||||
label: '#Visitor',
|
|
||||||
type: DATA_TYPE.MEASURE,
|
|
||||||
format: DATA_FORMAT.NUMBER,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
column: 'item__total_hpp_item',
|
column: 'item__total_hpp_item',
|
||||||
query: 'item.total_hpp_item',
|
query: 'item.total_hpp_item',
|
||||||
|
@ -170,10 +152,11 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__refund_date',
|
column: 'refund__refund_date',
|
||||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
query: 'refund.refund_date',
|
||||||
label: 'Tgl. Pengembalian',
|
label: 'Tgl. Pengembalian',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.MEASURE,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'refund__status',
|
column: 'refund__status',
|
||||||
|
@ -189,20 +172,20 @@ export default <ReportConfigEntity>{
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.TEXT,
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// column: 'refund__refund_total',
|
column: 'refund__refund_total',
|
||||||
// query: '(refund.refund_total * -1)',
|
query: '(refund.refund_total * -1)',
|
||||||
// label: 'Total Pengembalian',
|
label: 'Total Pengembalian',
|
||||||
// type: DATA_TYPE.MEASURE,
|
type: DATA_TYPE.MEASURE,
|
||||||
// format: DATA_FORMAT.CURRENCY,
|
format: DATA_FORMAT.CURRENCY,
|
||||||
// },
|
},
|
||||||
// {
|
{
|
||||||
// column: 'transaction_balance',
|
column: 'transaction_balance',
|
||||||
// query: `CASE WHEN refund.id is null THEN main.payment_total ELSE main.payment_total - refund.refund_total END`,
|
query: `CASE WHEN refund.id is null THEN main.payment_total ELSE main.payment_total - refund.refund_total END`,
|
||||||
// label: 'Balance',
|
label: 'Balance',
|
||||||
// type: DATA_TYPE.MEASURE,
|
type: DATA_TYPE.MEASURE,
|
||||||
// format: DATA_FORMAT.CURRENCY,
|
format: DATA_FORMAT.CURRENCY,
|
||||||
// },
|
},
|
||||||
{
|
{
|
||||||
column: 'main__discount_code',
|
column: 'main__discount_code',
|
||||||
query: 'main.discount_code',
|
query: 'main.discount_code',
|
||||||
|
@ -277,12 +260,10 @@ export default <ReportConfigEntity>{
|
||||||
filter_configs: [
|
filter_configs: [
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Pendapatan',
|
filed_label: 'Tgl. Pendapatan',
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__settlement_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
filed_label: 'Sumber',
|
filed_label: 'Sumber',
|
||||||
filter_column: 'main__type',
|
filter_column: 'main__type',
|
||||||
|
@ -320,18 +301,11 @@ export default <ReportConfigEntity>{
|
||||||
field_type: FILTER_FIELD_TYPE.input_number,
|
field_type: FILTER_FIELD_TYPE.input_number,
|
||||||
filter_type: FILTER_TYPE.NUMBER_EQUAL,
|
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. Pengembalian',
|
filed_label: 'Tgl. Pengembalian',
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
|
|
@ -38,24 +38,27 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__payment_date',
|
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`,
|
query: 'main.payment_date',
|
||||||
label: 'Tgl. Transaksi',
|
label: 'Tgl. Transaksi',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__payment_date_bank',
|
column: 'main__payment_date_bank',
|
||||||
query: `CASE WHEN main.payment_date_bank is not null THEN to_char(main.payment_date_bank, 'DD-MM-YYYY') ELSE null END`,
|
query: 'main.payment_date_bank',
|
||||||
label: 'Tgl. Transaksi Bank',
|
label: 'Tgl. Transaksi Bank',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__reconciliation_confirm_date',
|
column: 'main__reconciliation_confirm_date',
|
||||||
query: `CASE WHEN main.reconciliation_confirm_date is not null THEN to_char(cast(to_timestamp(COALESCE(main.reconciliation_confirm_date::NUMERIC)/1000) as date),'DD-MM-YYYY') ELSE null END`,
|
query: 'main.reconciliation_confirm_date',
|
||||||
label: 'Tgl. Konfirmasi',
|
label: 'Tgl. Konfirmasi',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__payment_code_reference',
|
column: 'main__payment_code_reference',
|
||||||
|
@ -145,21 +148,18 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Transaksi Bank',
|
filed_label: 'Tgl. Transaksi Bank',
|
||||||
filter_column: 'main__payment_date_bank',
|
filter_column: 'main__payment_date_bank',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Konfirmasi',
|
filed_label: 'Tgl. Konfirmasi',
|
||||||
filter_column: 'main__reconciliation_confirm_date',
|
filter_column: 'main__reconciliation_confirm_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Referensi',
|
filed_label: 'Referensi',
|
||||||
|
|
|
@ -46,17 +46,19 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__request_date',
|
column: 'main__request_date',
|
||||||
query: `to_char(main.request_date, 'DD-MM-YYYY')`,
|
query: 'main.request_date',
|
||||||
label: 'Tgl. Permintaan',
|
label: 'Tgl. Permintaan',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'main__refund_date',
|
column: 'main__refund_date',
|
||||||
query: `to_char(main.refund_date, 'DD-MM-YYYY')`,
|
query: 'main.refund_date',
|
||||||
label: 'Tgl. Refund',
|
label: 'Tgl. Refund',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'tr__payment_code',
|
column: 'tr__payment_code',
|
||||||
|
@ -67,10 +69,11 @@ export default <ReportConfigEntity>{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'tr__settlement_date',
|
column: 'tr__settlement_date',
|
||||||
query: `to_char(tr.settlement_date, 'DD-MM-YYYY')`,
|
query: 'tr.settlement_date',
|
||||||
label: 'Tgl. Settlement',
|
label: 'Tgl. Settlement',
|
||||||
type: DATA_TYPE.DIMENSION,
|
type: DATA_TYPE.DIMENSION,
|
||||||
format: DATA_FORMAT.TEXT,
|
format: DATA_FORMAT.DATE_EPOCH,
|
||||||
|
date_format: 'DD/MM/YYYY',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
column: 'tr__payment_total',
|
column: 'tr__payment_total',
|
||||||
|
@ -182,14 +185,12 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__request_date',
|
filter_column: 'main__request_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Refund',
|
filed_label: 'Tgl. Refund',
|
||||||
filter_column: 'main__refund_date',
|
filter_column: 'main__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Settlement',
|
filed_label: 'Kode Settlement',
|
||||||
|
@ -202,7 +203,6 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'tr__settlement_date',
|
filter_column: 'tr__settlement_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Bank Tujuan',
|
filed_label: 'Bank Tujuan',
|
||||||
|
|
|
@ -1,136 +0,0 @@
|
||||||
import {
|
|
||||||
DATA_FORMAT,
|
|
||||||
DATA_TYPE,
|
|
||||||
FILTER_FIELD_TYPE,
|
|
||||||
FILTER_TYPE,
|
|
||||||
REPORT_GROUP,
|
|
||||||
} from '../../../constant';
|
|
||||||
import { ReportConfigEntity } from '../../../entities/report-config.entity';
|
|
||||||
import { TransactionType } from 'src/modules/transaction/transaction/constants';
|
|
||||||
import { STATUS } from 'src/core/strings/constants/base.constants';
|
|
||||||
|
|
||||||
export default <ReportConfigEntity>{
|
|
||||||
group_name: REPORT_GROUP.transaction_report,
|
|
||||||
unique_name: `${REPORT_GROUP.transaction_report}__tax`,
|
|
||||||
label: 'Tax Pendapatan',
|
|
||||||
table_schema: `transactions main
|
|
||||||
left join transaction_taxes tr_taxes on tr_taxes.transaction_id = main.id`,
|
|
||||||
main_table_alias: 'main',
|
|
||||||
whereDefaultConditions: [
|
|
||||||
{
|
|
||||||
column: 'main.status',
|
|
||||||
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
|
||||||
values: [STATUS.SETTLED, STATUS.REFUNDED, STATUS.PROCESS_REFUND],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main.is_recap_transaction',
|
|
||||||
filter_type: FILTER_TYPE.TEXT_EQUAL,
|
|
||||||
values: [false],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
defaultOrderBy: [],
|
|
||||||
lowLevelOrderBy: [],
|
|
||||||
filter_period_config: {
|
|
||||||
hidden: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
column_configs: [
|
|
||||||
{
|
|
||||||
column: 'main__payment_date',
|
|
||||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
|
||||||
label: 'Tgl. Transaksi',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main__status',
|
|
||||||
query: 'main.status',
|
|
||||||
label: 'Status',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.STATUS,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main__type',
|
|
||||||
query: 'main.type',
|
|
||||||
label: 'Sumber',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main__invoice_code',
|
|
||||||
query: `CASE WHEN main.type != 'counter' THEN main.invoice_code ELSE null END`,
|
|
||||||
label: 'Kode Booking',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main__payment_code',
|
|
||||||
query: `CASE WHEN main.type = 'counter' THEN main.invoice_code ELSE main.payment_code END`,
|
|
||||||
label: 'Kode Pembayaran',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main__payment_total',
|
|
||||||
query: 'main.payment_total',
|
|
||||||
label: 'Total Penjualan',
|
|
||||||
type: DATA_TYPE.MEASURE,
|
|
||||||
format: DATA_FORMAT.CURRENCY,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'main__payment_total_dpp',
|
|
||||||
query: 'main.payment_total_dpp',
|
|
||||||
label: 'DPP',
|
|
||||||
type: DATA_TYPE.MEASURE,
|
|
||||||
format: DATA_FORMAT.CURRENCY,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'tr_taxes__tax_name',
|
|
||||||
query: 'tr_taxes.tax_name',
|
|
||||||
label: 'Tipe Tax',
|
|
||||||
type: DATA_TYPE.DIMENSION,
|
|
||||||
format: DATA_FORMAT.TEXT,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
column: 'tr_taxes__tax_total_value',
|
|
||||||
query: 'tr_taxes.tax_total_value',
|
|
||||||
label: 'Value Tax',
|
|
||||||
type: DATA_TYPE.MEASURE,
|
|
||||||
format: DATA_FORMAT.CURRENCY,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
filter_configs: [
|
|
||||||
{
|
|
||||||
filed_label: 'Tgl. Transaksi',
|
|
||||||
filter_column: 'main__payment_date',
|
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
|
||||||
date_format: 'DD-MM-YYYY',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filed_label: 'Sumber',
|
|
||||||
filter_column: 'main__type',
|
|
||||||
field_type: FILTER_FIELD_TYPE.select,
|
|
||||||
filter_type: FILTER_TYPE.TEXT_IN_MEMBER,
|
|
||||||
select_custom_options: [...Object.values(TransactionType)],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filed_label: 'Kode Booking',
|
|
||||||
filter_column: 'main__invoice_code',
|
|
||||||
field_type: FILTER_FIELD_TYPE.input_tag,
|
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filed_label: 'Kode Pembayaran',
|
|
||||||
filter_column: 'main__payment_code',
|
|
||||||
field_type: FILTER_FIELD_TYPE.input_tag,
|
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filed_label: 'Tipe Tax',
|
|
||||||
filter_column: 'tr_taxes__tax_name',
|
|
||||||
field_type: FILTER_FIELD_TYPE.input_tag,
|
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
|
@ -11,7 +11,6 @@ import RefundsReport from './configs/refunds';
|
||||||
import CashierLogReport from './configs/cashier-log';
|
import CashierLogReport from './configs/cashier-log';
|
||||||
import CashWithdrawalsReport from './configs/cash-withdrawals';
|
import CashWithdrawalsReport from './configs/cash-withdrawals';
|
||||||
import ReconciliationReport from './configs/reconciliation';
|
import ReconciliationReport from './configs/reconciliation';
|
||||||
import TaxReport from './configs/tax';
|
|
||||||
|
|
||||||
export const TransactionReportConfig: ReportConfigEntity[] = [
|
export const TransactionReportConfig: ReportConfigEntity[] = [
|
||||||
IncomeReport,
|
IncomeReport,
|
||||||
|
@ -25,5 +24,4 @@ export const TransactionReportConfig: ReportConfigEntity[] = [
|
||||||
CashierLogReport,
|
CashierLogReport,
|
||||||
CashWithdrawalsReport,
|
CashWithdrawalsReport,
|
||||||
ReconciliationReport,
|
ReconciliationReport,
|
||||||
TaxReport,
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -12,7 +12,7 @@ export interface ReportColumnConfigEntity {
|
||||||
export interface FilterConfigEntity {
|
export interface FilterConfigEntity {
|
||||||
filter_column: string;
|
filter_column: string;
|
||||||
filter_type: FILTER_TYPE;
|
filter_type: FILTER_TYPE;
|
||||||
date_format?: string;
|
|
||||||
filed_label: string;
|
filed_label: string;
|
||||||
field_type: string;
|
field_type: string;
|
||||||
hide_field?: boolean;
|
hide_field?: boolean;
|
||||||
|
@ -46,7 +46,7 @@ export interface ReportConfigEntity {
|
||||||
whereDefaultConditions?: {
|
whereDefaultConditions?: {
|
||||||
column: string;
|
column: string;
|
||||||
filter_type: FILTER_TYPE;
|
filter_type: FILTER_TYPE;
|
||||||
values: string[] | boolean[] | number[];
|
values: string[];
|
||||||
}[];
|
}[];
|
||||||
defaultOrderBy?: string[];
|
defaultOrderBy?: string[];
|
||||||
lowLevelOrderBy?: string[];
|
lowLevelOrderBy?: string[];
|
||||||
|
|
|
@ -331,11 +331,7 @@ export class ReportQueryBuilder {
|
||||||
groupKeys.forEach(function (key, index) {
|
groupKeys.forEach(function (key, index) {
|
||||||
const colName = rowGroupCols[index].field;
|
const colName = rowGroupCols[index].field;
|
||||||
// whereParts.push(colName + ' = "' + key + '"');
|
// whereParts.push(colName + ' = "' + key + '"');
|
||||||
if (!key) {
|
whereParts.push(`${thisSelf.findQueryConfig(colName)} = '${key}'`);
|
||||||
whereParts.push(`${thisSelf.findQueryConfig(colName)} is null`);
|
|
||||||
} else {
|
|
||||||
whereParts.push(`${thisSelf.findQueryConfig(colName)} = '${key}'`);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,7 +363,6 @@ export class ReportQueryBuilder {
|
||||||
const tableWhereConditions = [...whereCondition, ...whereParts].filter(
|
const tableWhereConditions = [...whereCondition, ...whereParts].filter(
|
||||||
Boolean,
|
Boolean,
|
||||||
);
|
);
|
||||||
|
|
||||||
const defaultWhereConditions = defaultWhereOptions.filter(Boolean);
|
const defaultWhereConditions = defaultWhereOptions.filter(Boolean);
|
||||||
|
|
||||||
if (tableWhereConditions.length > 0) {
|
if (tableWhereConditions.length > 0) {
|
||||||
|
|
Loading…
Reference in New Issue