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,22 +73,36 @@ 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, + // }; + // }); mappingRevertTransaction(data, TransactionType.COUNTER); Object.assign(data, { - taxes: tax_datas, profit_share_formula: profit_formula.formula_string, sales_price_formula: sales_formula.formula_string, }); + 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);