Merge branch 'development' into 'devops-staging'

fix: one way pembayaran

See merge request empatnusabangsa/ppob/ppob-backend!109
This commit is contained in:
ilham dwi pratama 2022-01-26 07:31:03 +00:00
commit 7b2cfc649e

View File

@ -437,7 +437,7 @@ export class TransactionService {
currentUser: any, currentUser: any,
) { ) {
let status; let status;
let amount = 0; const amount = 0;
//GET USER DATA //GET USER DATA
const userData = await this.userService.findByUsername( const userData = await this.userService.findByUsername(
currentUser.username, currentUser.username,
@ -591,6 +591,7 @@ export class TransactionService {
} catch (e) { } catch (e) {
throw e; throw e;
} }
return { return {
trx_id: trxId, trx_id: trxId,
client_trx_id: orderTransactionDto.trx_id, client_trx_id: orderTransactionDto.trx_id,
@ -632,63 +633,67 @@ export class TransactionService {
) { ) {
const transactionData = await this.findApprovalDepositReturn(id); const transactionData = await this.findApprovalDepositReturn(id);
const coaSenderWallet = await this.coaService.findByUser( // const coaSenderWallet = await this.coaService.findByUser(
transactionData.user, // transactionData.user,
coaType.WALLET, // coaType.WALLET,
); // );
//
// const coaAP = await this.coaService.findByUserWithRelated(
// transactionData.user,
// userData.userId,
// coaType.ACCOUNT_PAYABLE,
// );
//
// const coaReceiverWallet = await this.coaService.findByUser(
// transactionData.user,
// coaType.WALLET,
// );
//
// const coaAR = await this.coaService.findByUserWithRelated(
// transactionData.user,
// userData.userId,
// coaType.ACCOUNT_RECEIVABLE,
// );
const coaAP = await this.coaService.findByUserWithRelated( const userFind = await this.userService.findByUsername(userData.username);
transactionData.user,
userData.userId,
coaType.ACCOUNT_PAYABLE,
);
const coaReceiverWallet = await this.coaService.findByUser(
transactionData.user,
coaType.WALLET,
);
const coaAR = await this.coaService.findByUserWithRelated(
transactionData.user,
userData.userId,
coaType.ACCOUNT_RECEIVABLE,
);
try { try {
await this.connection.transaction(async (manager) => { await this.connection.transaction(async (manager) => {
transactionData.status = if (statusApproval === 'accept') {
statusApproval === 'accept' if (userFind.roles.name != 'Admin') {
? statusTransaction.APPROVED transactionData.user_destination = userFind.superior.id;
: statusTransaction.REJECTED; } else {
transactionData.status = statusTransaction.APPROVED;
}
// await this.accountingTransaction({
// createTransaction: false,
// transactionalEntityManager: manager,
// transaction: transactionData,
// amount: transactionData.amount,
// journals: [
// {
// coa_id: coaSenderWallet.id,
// credit: transactionData.amount,
// },
// {
// coa_id: coaReceiverWallet.id,
// debit: transactionData.amount,
// },
// {
// coa_id: coaAR.id,
// credit: transactionData.amount,
// },
// {
// coa_id: coaAP.id,
// debit: transactionData.amount,
// },
// ],
// });
} else {
transactionData.status = statusTransaction.REJECTED;
}
await manager.save(transactionData); await manager.save(transactionData);
if (statusApproval === 'accept') {
await this.accountingTransaction({
createTransaction: false,
transactionalEntityManager: manager,
transaction: transactionData,
amount: transactionData.amount,
journals: [
{
coa_id: coaSenderWallet.id,
credit: transactionData.amount,
},
{
coa_id: coaReceiverWallet.id,
debit: transactionData.amount,
},
{
coa_id: coaAR.id,
credit: transactionData.amount,
},
{
coa_id: coaAP.id,
debit: transactionData.amount,
},
],
});
}
}); });
return transactionData; return transactionData;
@ -722,7 +727,6 @@ export class TransactionService {
statusApproval === 'Accept' statusApproval === 'Accept'
? statusTransaction.APPROVED ? statusTransaction.APPROVED
: statusTransaction.REJECTED; : statusTransaction.REJECTED;
await manager.save(transactionData); await manager.save(transactionData);
await this.accountingTransaction({ await this.accountingTransaction({
@ -764,7 +768,7 @@ export class TransactionService {
dataTransaction.status = statusTransaction.FAILED; dataTransaction.status = statusTransaction.FAILED;
dataTransaction.callback_json = callback; dataTransaction.callback_json = callback;
dataTransaction.failed_reason = failedReason[0] + ', ' + failedReason[1]; dataTransaction.failed_reason = `${failedReason[0]}, ${failedReason[1]}`;
const userData = await this.userService.findExist(dataTransaction.user); const userData = await this.userService.findExist(dataTransaction.user);