Compare commits
No commits in common. "1d377b574c0742ef988b88ed165dd9be5fe3ff37" and "09d6dbaab2686415701a97329fd291a4a96e5abf" have entirely different histories.
1d377b574c
...
09d6dbaab2
|
@ -7,4 +7,17 @@ export default <ReportConfigEntity>{
|
|||
group_name: REPORT_GROUP.tenant_report,
|
||||
unique_name: `${REPORT_GROUP.tenant_report}__income_per_item_master`,
|
||||
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;
|
||||
},
|
||||
};
|
||||
|
|
|
@ -27,11 +27,6 @@ export default <ReportConfigEntity>{
|
|||
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: [],
|
||||
|
@ -41,18 +36,12 @@ export default <ReportConfigEntity>{
|
|||
|
||||
column_configs: [
|
||||
{
|
||||
column: 'main__payment_date',
|
||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
||||
column: 'main__settlement_date',
|
||||
query: 'main.settlement_date',
|
||||
label: 'Tgl. Pendapatan',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
},
|
||||
{
|
||||
column: 'main__status',
|
||||
query: 'main.status',
|
||||
label: 'Status',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.STATUS,
|
||||
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||
date_format: 'DD/MM/YYYY',
|
||||
},
|
||||
{
|
||||
column: 'item_owner',
|
||||
|
@ -90,27 +79,26 @@ export default <ReportConfigEntity>{
|
|||
format: DATA_FORMAT.TEXT,
|
||||
},
|
||||
{
|
||||
column: 'tr_item__item_type',
|
||||
query: 'tr_item.item_type',
|
||||
label: 'Tipe Item',
|
||||
column: 'tr_item__item_name',
|
||||
query: 'tr_item.item_name',
|
||||
label: 'Nama Item',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
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',
|
||||
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',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
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',
|
||||
query: 'main.customer_type',
|
||||
|
@ -125,13 +113,6 @@ export default <ReportConfigEntity>{
|
|||
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: 'tr_item__qty',
|
||||
query: 'tr_item.qty',
|
||||
|
@ -183,10 +164,11 @@ export default <ReportConfigEntity>{
|
|||
},
|
||||
{
|
||||
column: 'refund__refund_date',
|
||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
||||
query: 'refund.refund_date',
|
||||
label: 'Tgl. Pengembalian',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||
date_format: 'DD/MM/YYYY',
|
||||
},
|
||||
{
|
||||
column: 'refund__status',
|
||||
|
@ -209,6 +191,21 @@ export default <ReportConfigEntity>{
|
|||
type: DATA_TYPE.MEASURE,
|
||||
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',
|
||||
query: 'tr_item.item_tenant_share_margin',
|
||||
|
@ -269,10 +266,9 @@ export default <ReportConfigEntity>{
|
|||
filter_configs: [
|
||||
{
|
||||
filed_label: 'Tgl. Pendapatan',
|
||||
filter_column: 'main__payment_date',
|
||||
filter_column: 'main__settlement_date',
|
||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||
date_format: 'DD-MM-YYYY',
|
||||
},
|
||||
{
|
||||
filed_label: 'Kepemilikan',
|
||||
|
@ -312,10 +308,11 @@ export default <ReportConfigEntity>{
|
|||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||
},
|
||||
{
|
||||
filed_label: 'Tipe Item',
|
||||
filter_column: 'tr_item__item_type',
|
||||
field_type: FILTER_FIELD_TYPE.input_tag,
|
||||
filed_label: 'Breakdown Item',
|
||||
filter_column: 'tr_item__breakdown_bundling',
|
||||
field_type: FILTER_FIELD_TYPE.select,
|
||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||
select_custom_options: ['Yes', 'No'],
|
||||
},
|
||||
{
|
||||
filed_label: 'Nama Item Bundling',
|
||||
|
@ -335,18 +332,11 @@ export default <ReportConfigEntity>{
|
|||
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. Pengembalian',
|
||||
filter_column: 'refund__refund_date',
|
||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||
date_format: 'DD-MM-YYYY',
|
||||
},
|
||||
{
|
||||
filed_label: 'Kode Pengembalian',
|
||||
|
|
|
@ -26,11 +26,6 @@ export default <ReportConfigEntity>{
|
|||
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: [],
|
||||
|
@ -40,18 +35,12 @@ export default <ReportConfigEntity>{
|
|||
|
||||
column_configs: [
|
||||
{
|
||||
column: 'main__payment_date',
|
||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
||||
column: 'main__settlement_date',
|
||||
query: 'main.settlement_date',
|
||||
label: 'Tgl. Pendapatan',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
},
|
||||
{
|
||||
column: 'main__status',
|
||||
query: 'main.status',
|
||||
label: 'Status',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.STATUS,
|
||||
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||
date_format: 'DD/MM/YYYY',
|
||||
},
|
||||
{
|
||||
column: 'item_owner',
|
||||
|
@ -109,13 +98,6 @@ export default <ReportConfigEntity>{
|
|||
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: 'tr_item__qty',
|
||||
query: 'tr_item.qty',
|
||||
|
@ -167,10 +149,11 @@ export default <ReportConfigEntity>{
|
|||
},
|
||||
{
|
||||
column: 'refund__refund_date',
|
||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
||||
query: 'refund.refund_date',
|
||||
label: 'Tgl. Pengembalian',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||
date_format: 'DD/MM/YYYY',
|
||||
},
|
||||
{
|
||||
column: 'refund__status',
|
||||
|
@ -193,6 +176,21 @@ export default <ReportConfigEntity>{
|
|||
type: DATA_TYPE.MEASURE,
|
||||
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',
|
||||
query: 'tr_item.item_tenant_share_margin',
|
||||
|
@ -240,10 +238,9 @@ export default <ReportConfigEntity>{
|
|||
filter_configs: [
|
||||
{
|
||||
filed_label: 'Tgl. Pendapatan',
|
||||
filter_column: 'main__payment_date',
|
||||
filter_column: 'main__settlement_date',
|
||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||
date_format: 'DD-MM-YYYY',
|
||||
},
|
||||
{
|
||||
filed_label: 'Kepemilikan',
|
||||
|
@ -294,18 +291,11 @@ export default <ReportConfigEntity>{
|
|||
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. Pengembalian',
|
||||
filter_column: 'refund__refund_date',
|
||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||
date_format: 'DD-MM-YYYY',
|
||||
},
|
||||
{
|
||||
filed_label: 'Kode Pengembalian',
|
||||
|
|
|
@ -29,11 +29,6 @@ export default <ReportConfigEntity>{
|
|||
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: [],
|
||||
|
@ -43,18 +38,12 @@ export default <ReportConfigEntity>{
|
|||
|
||||
column_configs: [
|
||||
{
|
||||
column: 'main__payment_date',
|
||||
query: `to_char(main.payment_date, 'DD-MM-YYYY')`,
|
||||
column: 'main__settlement_date',
|
||||
query: 'main.settlement_date',
|
||||
label: 'Tgl. Pendapatan',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
},
|
||||
{
|
||||
column: 'main__status',
|
||||
query: 'main.status',
|
||||
label: 'Status',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.STATUS,
|
||||
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||
date_format: 'DD/MM/YYYY',
|
||||
},
|
||||
{
|
||||
column: 'main__type',
|
||||
|
@ -99,19 +88,12 @@ export default <ReportConfigEntity>{
|
|||
format: DATA_FORMAT.TEXT,
|
||||
},
|
||||
{
|
||||
column: 'main__creator_counter_name',
|
||||
query: 'main.creator_counter_name',
|
||||
label: 'Nama PoS',
|
||||
column: 'main__no_of_group',
|
||||
query: 'main.no_of_group',
|
||||
label: '#Visitor',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
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',
|
||||
query: 'item.total_hpp_item',
|
||||
|
@ -170,10 +152,11 @@ export default <ReportConfigEntity>{
|
|||
},
|
||||
{
|
||||
column: 'refund__refund_date',
|
||||
query: `to_char(refund.refund_date, 'DD-MM-YYYY')`,
|
||||
query: 'refund.refund_date',
|
||||
label: 'Tgl. Pengembalian',
|
||||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
type: DATA_TYPE.MEASURE,
|
||||
format: DATA_FORMAT.DATE_TIMESTAMP,
|
||||
date_format: 'DD/MM/YYYY',
|
||||
},
|
||||
{
|
||||
column: 'refund__status',
|
||||
|
@ -189,20 +172,20 @@ export default <ReportConfigEntity>{
|
|||
type: DATA_TYPE.DIMENSION,
|
||||
format: DATA_FORMAT.TEXT,
|
||||
},
|
||||
// {
|
||||
// column: 'refund__refund_total',
|
||||
// query: '(refund.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 main.payment_total ELSE main.payment_total - refund.refund_total END`,
|
||||
// label: 'Balance',
|
||||
// type: DATA_TYPE.MEASURE,
|
||||
// format: DATA_FORMAT.CURRENCY,
|
||||
// },
|
||||
{
|
||||
column: 'refund__refund_total',
|
||||
query: '(refund.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 main.payment_total ELSE main.payment_total - refund.refund_total END`,
|
||||
label: 'Balance',
|
||||
type: DATA_TYPE.MEASURE,
|
||||
format: DATA_FORMAT.CURRENCY,
|
||||
},
|
||||
{
|
||||
column: 'main__discount_code',
|
||||
query: 'main.discount_code',
|
||||
|
@ -277,12 +260,10 @@ export default <ReportConfigEntity>{
|
|||
filter_configs: [
|
||||
{
|
||||
filed_label: 'Tgl. Pendapatan',
|
||||
filter_column: 'main__payment_date',
|
||||
filter_column: 'main__settlement_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',
|
||||
|
@ -320,18 +301,11 @@ export default <ReportConfigEntity>{
|
|||
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. Pengembalian',
|
||||
filter_column: 'refund__refund_date',
|
||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||
date_format: 'DD-MM-YYYY',
|
||||
},
|
||||
{
|
||||
filed_label: 'Kode Pengembalian',
|
||||
|
|
|
@ -12,7 +12,7 @@ export interface ReportColumnConfigEntity {
|
|||
export interface FilterConfigEntity {
|
||||
filter_column: string;
|
||||
filter_type: FILTER_TYPE;
|
||||
date_format?: string;
|
||||
|
||||
filed_label: string;
|
||||
field_type: string;
|
||||
hide_field?: boolean;
|
||||
|
|
|
@ -331,11 +331,7 @@ export class ReportQueryBuilder {
|
|||
groupKeys.forEach(function (key, index) {
|
||||
const colName = rowGroupCols[index].field;
|
||||
// whereParts.push(colName + ' = "' + key + '"');
|
||||
if (!key) {
|
||||
whereParts.push(`${thisSelf.findQueryConfig(colName)} is null`);
|
||||
} else {
|
||||
whereParts.push(`${thisSelf.findQueryConfig(colName)} = '${key}'`);
|
||||
}
|
||||
whereParts.push(`${thisSelf.findQueryConfig(colName)} = '${key}'`);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -367,7 +363,6 @@ export class ReportQueryBuilder {
|
|||
const tableWhereConditions = [...whereCondition, ...whereParts].filter(
|
||||
Boolean,
|
||||
);
|
||||
|
||||
const defaultWhereConditions = defaultWhereOptions.filter(Boolean);
|
||||
|
||||
if (tableWhereConditions.length > 0) {
|
||||
|
|
Loading…
Reference in New Issue