From 953161c4b242fce5888a7e52df71e1092ae7857a Mon Sep 17 00:00:00 2001 From: ilham Date: Tue, 28 Jun 2022 15:14:51 +0700 Subject: [PATCH] fix: rollback jurnal --- src/transaction/transaction.service.ts | 50 +++++++++++++++++--------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/src/transaction/transaction.service.ts b/src/transaction/transaction.service.ts index b2fce8c..9383a0b 100644 --- a/src/transaction/transaction.service.ts +++ b/src/transaction/transaction.service.ts @@ -1310,12 +1310,26 @@ export class TransactionService { relations: ['product_price'], }); - const dataTransactionJurnal = await this.transactionJournalRepository.find({ - where: { - transaction_head: trxId, - }, - relations: ['coa'], - }); + let dataTransactionJurnal; + if (dataTransaction.type == typeTransaction.ORDER) { + dataTransactionJurnal = await this.transactionJournalRepository.find({ + where: { + transaction_head: trxId, + }, + relations: ['coa'], + skip: 4, + order: { + createdAt: 'ASC', + }, + }); + } else { + dataTransactionJurnal = await this.transactionJournalRepository.find({ + where: { + transaction_head: trxId, + }, + relations: ['coa'], + }); + } let dataRollbackJurnal = []; @@ -1333,18 +1347,20 @@ export class TransactionService { dataRollbackJurnal.push(data); }); - try { - await this.connection.transaction(async (manager) => { - await this.accountingTransaction({ - createTransaction: false, - transactionalEntityManager: manager, - transaction: dataTransaction, - amount: dataTransaction.amount, - journals: dataRollbackJurnal, + if (dataRollbackJurnal.length > 0) { + try { + await this.connection.transaction(async (manager) => { + await this.accountingTransaction({ + createTransaction: false, + transactionalEntityManager: manager, + transaction: dataTransaction, + amount: dataTransaction.amount, + journals: dataRollbackJurnal, + }); }); - }); - } catch (e) { - throw e; + } catch (e) { + throw e; + } } }