fix: pos formula calculation
continuous-integration/drone/push Build is passing Details

pull/107/head
shancheas 2024-10-07 05:54:06 +07:00
parent 1348f5a79b
commit c5590ab7b1
2 changed files with 18 additions and 8 deletions

View File

@ -38,8 +38,9 @@ export class SalesPriceFormulaDataService extends BaseDataService<SalesPriceForm
},
});
const tenantShareMargin = item?.tenant?.share_margin;
const profitShare = (item?.share_profit ?? 0) / 100;
const tenantShare = (item?.tenant?.share_margin ?? 0) / 100;
const tenantShare = tenantShareMargin ? (100 - tenantShareMargin) / 100 : 0;
return { profitShare, tenantShare };
}

View File

@ -15,6 +15,7 @@ import { mappingRevertTransaction } from '../managers/helpers/mapping-transactio
import { apm } from '../../../../../../core/apm';
import { TABLE_NAME } from 'src/core/strings/constants/table.constants';
import { TransactionChangeStatusEvent } from '../../entities/event/transaction-change-status.event';
import { PriceCalculator } from '../calculator/price.calculator';
@EventsHandler(ChangeDocEvent)
export class PosTransactionHandler implements IEventHandler<ChangeDocEvent> {
@ -23,6 +24,7 @@ export class PosTransactionHandler implements IEventHandler<ChangeDocEvent> {
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<ChangeDocEvent> {
// 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);