|
|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
package com.mfsys.uco.service;
|
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
import com.mfsys.comm.util.MapValueExtractorUtil;
|
|
|
|
|
@ -18,7 +17,6 @@ import com.mfsys.uco.repository.GLAccountMasterTransactionTrailRepository;
|
|
|
|
|
import com.mfsys.uco.repository.TransactionTrailRepository;
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.hibernate.Transaction;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
@ -26,10 +24,6 @@ import java.math.RoundingMode;
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static com.itextpdf.styledxmlparser.jsoup.select.Collector.collect;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
@Data
|
|
|
|
|
@ -88,12 +82,11 @@ public class TransactionService {
|
|
|
|
|
.pcaGlaccode("A01011003")
|
|
|
|
|
.build();
|
|
|
|
|
Map<String, Object> response = (Map<String, Object>) webClientDepositService.postTransaction(coreCashInTransaction, UCOURI.BANKING_CASH_IN, transactionRequest.getPorOrgacode());
|
|
|
|
|
Map<String, Object> transactionId = (Map<String, Object>) response.get("FuncReturnDetail");
|
|
|
|
|
String tranid = extractTranNumber(List.of(transactionId.get("arguments")));
|
|
|
|
|
transactionTrail.setSgtSentGntrnumber(tranid);
|
|
|
|
|
transactionTrail.setSgtSentGntrnumber(String.valueOf(response.get("tran_id")));
|
|
|
|
|
transactionTrail.setSgtSentNodeId(String.valueOf(response.get("node_id")));
|
|
|
|
|
transactionTrail.setBatAcnttranSend(true);
|
|
|
|
|
if(Objects.nonNull(transactionRequest.getCmpRefcode())) {
|
|
|
|
|
transactionTrail.setCmpRefcode(tranid + transactionRequest.getCmpRefcode());
|
|
|
|
|
transactionTrail.setCmpRefcode(transactionTrail.getSgtSentGntrnumber() + transactionRequest.getCmpRefcode());
|
|
|
|
|
}
|
|
|
|
|
transactionTrail.setDrMbmBkmsbalance(MapValueExtractorUtil.getValueAsBigDecimal(response, "mbmBkmsbalance"));
|
|
|
|
|
transactionTrailRepository.save(transactionTrail);
|
|
|
|
|
@ -155,8 +148,8 @@ public class TransactionService {
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
response = (Map<String, Object>) webClientDepositService.postTransaction(cashOutTransaction, UCOURI.BANKING_CASH_OUT, transactionTrail.get().getPorOrgacode());
|
|
|
|
|
Map<String, Object> transactionId = (Map<String, Object>) response.get("FuncReturnDetail");
|
|
|
|
|
transactionTrail.get().setSgtReceiveGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))));
|
|
|
|
|
transactionTrail.get().setSgtReceiveGntrnumber((String.valueOf(response.get("tran_id"))));
|
|
|
|
|
transactionTrail.get().setSgtSentNodeId(String.valueOf(response.get("node_id")));
|
|
|
|
|
transactionTrail.get().setBatAcnttranReceived(true);
|
|
|
|
|
transactionTrail.get().setCrMbmBkmsbalance(MapValueExtractorUtil.getValueAsBigDecimal(response, "mbmBkmsbalance"));
|
|
|
|
|
transactionTrailRepository.save(transactionTrail.get());
|
|
|
|
|
@ -280,7 +273,6 @@ public class TransactionService {
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
response = (Map<String, Object>) webClientDepositService.postTransaction(cashOutTransaction, UCOURI.BANKING_CASH_OUT, glAccontTranasctionRequestModel.getPorOrgacode());
|
|
|
|
|
Map<String, Object> transactionId = (Map<String, Object>) response.get("FuncReturnDetail");
|
|
|
|
|
TransactionTrail transactionTrail = TransactionTrail.builder()
|
|
|
|
|
.porOrgacode(glAccontTranasctionRequestModel.getPorOrgacode())
|
|
|
|
|
.drMbmBkmsnumber(glAccontTranasctionRequestModel.getDrPcaGlaccode())
|
|
|
|
|
@ -297,12 +289,14 @@ public class TransactionService {
|
|
|
|
|
.crPcrCurrdesc(glAccontTranasctionRequestModel.getCrPcrCurrdesc())
|
|
|
|
|
.crPcrCurrcode(glAccontTranasctionRequestModel.getCrPcrCurrcode())
|
|
|
|
|
.crPcrCurrshort(glAccontTranasctionRequestModel.getCrPcrCurrshort())
|
|
|
|
|
.sgtSentGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))))
|
|
|
|
|
.sgtSentGntrnumber((String.valueOf(response.get("tran_id"))))
|
|
|
|
|
.sgtSentNodeId(String.valueOf(response.get("node_id")))
|
|
|
|
|
.drSgtGntrdate(LocalDate.now())
|
|
|
|
|
.sgtGntramt(BigDecimal.valueOf(glAccontTranasctionRequestModel.getSgtGntramtfc()))
|
|
|
|
|
.batAcnttranSend(true)
|
|
|
|
|
.batAcnttranReceived(true)
|
|
|
|
|
.sgtReceiveGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))))
|
|
|
|
|
.sgtReceiveGntrnumber((String.valueOf(response.get("tran_id"))))
|
|
|
|
|
.sgtReceiveNodeId(String.valueOf(response.get("node_id")))
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
transactionTrailRepository.save(transactionTrail);
|
|
|
|
|
@ -320,10 +314,19 @@ public class TransactionService {
|
|
|
|
|
.sgtGntramt(BigDecimal.valueOf(glAccontTranasctionRequestModel.getSgtGntramtfc()))
|
|
|
|
|
.drSgtGntramt(BigDecimal.valueOf(glAccontTranasctionRequestModel.getSgtGntramtfc()))
|
|
|
|
|
.drSgtGntrdate(LocalDate.now())
|
|
|
|
|
.sgtSentGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))))
|
|
|
|
|
.sgtSentGntrnumber(String.valueOf(response.get("node_id"))+(response.get("tran_id")))
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
glAccountMasterTransactionTrailRepository.save(glAccountMasterTransaction);
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Object reverseTransacion(String porOrgacode, String nodeId, String sgtGntrnumber) {
|
|
|
|
|
Object reponse = webClientDepositService.postTransaction(CoreReverseTransaction.builder().sgtGntrtranlink(sgtGntrnumber).nodeId(nodeId).sgtGntrcreateat("2003").build(), UCOURI.CORE_REVERSE_TRANSACTION, porOrgacode);
|
|
|
|
|
TransactionTrail trail = transactionTrailRepository.findByPorOrgacodeAndSgtSentNodeIdAndSgtSentGntrnumber(porOrgacode,nodeId,sgtGntrnumber);
|
|
|
|
|
trail.setBatAcnttranReversed(true);
|
|
|
|
|
trail.setBatAcnttranReceived(true);
|
|
|
|
|
transactionTrailRepository.save(trail);
|
|
|
|
|
return reponse;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|