From c5590ab7b16f92873d402ecc7419293c2afa1a7f Mon Sep 17 00:00:00 2001 From: shancheas Date: Mon, 7 Oct 2024 05:54:06 +0700 Subject: [PATCH 1/2] fix: pos formula calculation --- .../sales-price-formula-data.service.ts | 3 ++- .../handlers/pos-transaction.handler.ts | 23 +++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/modules/transaction/sales-price-formula/data/services/sales-price-formula-data.service.ts b/src/modules/transaction/sales-price-formula/data/services/sales-price-formula-data.service.ts index 8e23965..d3f667d 100644 --- a/src/modules/transaction/sales-price-formula/data/services/sales-price-formula-data.service.ts +++ b/src/modules/transaction/sales-price-formula/data/services/sales-price-formula-data.service.ts @@ -38,8 +38,9 @@ export class SalesPriceFormulaDataService extends BaseDataService { @@ -23,6 +24,7 @@ export class PosTransactionHandler implements IEventHandler { private taxService: TaxDataService, private formulaService: SalesPriceFormulaDataService, private eventBus: EventBus, + private calculator: PriceCalculator, ) {} async handle(event: ChangeDocEvent) { @@ -71,20 +73,27 @@ export class PosTransactionHandler implements IEventHandler { // jika update // create else { - const tax_datas = taxes?.map((tax) => { - return { - tax_id: tax.id, - tax_name: tax.name, - tax_value: tax.value, - }; - }); + // const tax_datas = taxes?.map((tax) => { + // return { + // tax_id: tax.id, + // tax_name: tax.name, + // tax_value: tax.value, + // }; + // }); + + const { dpp_value, tax_datas, other } = await this.calculator.calculate( + data, + ); mappingRevertTransaction(data, TransactionType.COUNTER); Object.assign(data, { taxes: tax_datas, + payment_total_dpp: dpp_value, profit_share_formula: profit_formula.formula_string, sales_price_formula: sales_formula.formula_string, + payment_total_share: other.total_profit_share, + payment_total_tax: other.payment_total_tax, }); apmTransactions.setLabel('Id', data?.id); From e6066b534c7750e45ca1229efa7efb614f3ee4db Mon Sep 17 00:00:00 2001 From: shancheas Date: Mon, 7 Oct 2024 05:58:45 +0700 Subject: [PATCH 2/2] fix: add capture error when calculate pos formula --- .../handlers/pos-transaction.handler.ts | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) 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 22748ba..b1915e4 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 @@ -81,21 +81,28 @@ export class PosTransactionHandler implements IEventHandler { // }; // }); - const { dpp_value, tax_datas, other } = await this.calculator.calculate( - data, - ); - mappingRevertTransaction(data, TransactionType.COUNTER); Object.assign(data, { - taxes: tax_datas, - payment_total_dpp: dpp_value, profit_share_formula: profit_formula.formula_string, sales_price_formula: sales_formula.formula_string, - payment_total_share: other.total_profit_share, - payment_total_tax: other.payment_total_tax, }); + try { + const { dpp_value, tax_datas, other } = + await this.calculator.calculate(data); + Object.assign(data, { + taxes: tax_datas, + payment_total_dpp: dpp_value, + profit_share_formula: profit_formula.formula_string, + sales_price_formula: sales_formula.formula_string, + payment_total_share: other.total_profit_share, + payment_total_tax: other.payment_total_tax, + }); + } catch (error) { + apm.captureError(error); + } + apmTransactions.setLabel('Id', data?.id); apmTransactions.setLabel('Code', data?.code); apmTransactions.setLabel('Status', data?.status);