http://jira.mfd.msk:8088/browse/CLS-189 PaymentInstructionCreator ПеРеДелКа часть с PaymentInstruction
This commit is contained in:
parent
afb0e6c182
commit
52d4c654a1
2 changed files with 38 additions and 33 deletions
|
|
@ -224,18 +224,19 @@ public class Clearing {
|
|||
log.trace("LiabilitiesClaimsAssets {} was updated: {}", lca.getId(), lca);
|
||||
log.trace("creating paymentInstructions");
|
||||
|
||||
List<PaymentInstruction> paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category));
|
||||
paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lca, paymentInstructions, Collections.singleton(category));
|
||||
liabilitiesClaimsAssetsImdg.update(lca);
|
||||
// только для первой ноги lca создать PaymentInstruction's
|
||||
var firstLegLiabilitiesClaimsMoney = lcmFirstLegFound.orElseGet(() -> wrapperFirstLegCreated.firstLegCreated);
|
||||
var secondLegLiabilitiesClaimsMoney = lcmSecondLegFound.orElseGet(() -> wrapperSecondLegCreated.secondLegCreated);
|
||||
log.trace("updating LiabilitiesClaimsMoney by payment");
|
||||
log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney);
|
||||
if (paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, true, paymentInstructions, Collections.singleton(category)) ) {
|
||||
liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney);
|
||||
log.trace("LiabilitiesClaimsMoney first leg {} was updated", firstLegLiabilitiesClaimsMoney.getId(), secondLegLiabilitiesClaimsMoney.getId());
|
||||
}
|
||||
log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney);
|
||||
List<PaymentInstruction> paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category));
|
||||
paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lca, firstLegLiabilitiesClaimsMoney, paymentInstructions, Collections.singleton(category));
|
||||
liabilitiesClaimsAssetsImdg.update(lca);
|
||||
// var secondLegLiabilitiesClaimsMoney = lcmSecondLegFound.orElseGet(() -> wrapperSecondLegCreated.secondLegCreated);
|
||||
// log.trace("updating LiabilitiesClaimsMoney by payment");
|
||||
// log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney);
|
||||
// if (paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, true, paymentInstructions, Collections.singleton(category)) ) {
|
||||
// liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney);
|
||||
// log.trace("LiabilitiesClaimsMoney first leg {} was updated", firstLegLiabilitiesClaimsMoney.getId(), secondLegLiabilitiesClaimsMoney.getId());
|
||||
// }
|
||||
// log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney);
|
||||
execDeposit.setSessionId(clearingSessionId);
|
||||
execDeposit.setUpdated(Instant.now());
|
||||
executionDepositImdg.update(execDeposit);
|
||||
|
|
|
|||
|
|
@ -465,33 +465,35 @@ public class PaymentInstructionCreator {
|
|||
* 2.2.2.1. Выполнить Изменение liabilitiesClaimsAssets по paymentInstruction.
|
||||
*/
|
||||
public void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
|
||||
LiabilitiesClaimsMoney liabilitiesClaimsMoney,
|
||||
List<PaymentInstruction> paymentInstructions,
|
||||
Collection<ClearingCategory> clearingCategory) {
|
||||
|
||||
final boolean isFirstLeg = true;
|
||||
final boolean isSecondLeg = !isFirstLeg;
|
||||
PaymentInstruction paymentIAny = paymentInstructions.iterator().next();
|
||||
|
||||
if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) {
|
||||
BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount());
|
||||
// При обновлении (по paymentInstruction и категория I и счет CLRN):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount
|
||||
// При обновлении (по paymentInstruction и категория V и счет INFO):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount
|
||||
amount = liabilitiesClaimsAssets.getLiabilitiesQuantity().subtract(amount);
|
||||
liabilitiesClaimsAssets.setLiabilitiesQuantity(amount);
|
||||
}
|
||||
if (clearingCategory.contains(ClearingCategory.B)) {
|
||||
BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount());
|
||||
// При обновлении (по paymentInstruction и категория B и счет CLRN): из paymentInstruction.creditLeg_amount
|
||||
liabilitiesClaimsAssets.setLiabilitiesQuantity(amount);
|
||||
}
|
||||
// if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) {
|
||||
// BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount());
|
||||
//// При обновлении (по paymentInstruction и категория I и счет CLRN):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount
|
||||
//// При обновлении (по paymentInstruction и категория V и счет INFO):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount
|
||||
// amount = liabilitiesClaimsAssets.getLiabilitiesQuantity().subtract(amount);
|
||||
// liabilitiesClaimsAssets.setLiabilitiesQuantity(amount);
|
||||
// }
|
||||
// if (clearingCategory.contains(ClearingCategory.B)) {
|
||||
// BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount());
|
||||
// // При обновлении (по paymentInstruction и категория B и счет CLRN): из paymentInstruction.creditLeg_amount
|
||||
// liabilitiesClaimsAssets.setLiabilitiesQuantity(amount);
|
||||
// }
|
||||
|
||||
if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) {
|
||||
BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount());
|
||||
liabilitiesClaimsAssets.setClaimsQuantity(amount);
|
||||
}
|
||||
if (clearingCategory.contains(ClearingCategory.B)) {
|
||||
BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount());
|
||||
amount = safeBD(liabilitiesClaimsAssets.getClaimsQuantity()).subtract(amount);
|
||||
liabilitiesClaimsAssets.setClaimsQuantity(amount);
|
||||
}
|
||||
// if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) {
|
||||
// BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount());
|
||||
// liabilitiesClaimsAssets.setClaimsQuantity(amount);
|
||||
// }
|
||||
// if (clearingCategory.contains(ClearingCategory.B)) {
|
||||
// BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount());
|
||||
// amount = safeBD(liabilitiesClaimsAssets.getClaimsQuantity()).subtract(amount);
|
||||
// liabilitiesClaimsAssets.setClaimsQuantity(amount);
|
||||
// }
|
||||
|
||||
// //на базе успешного/неуспешного изменения по paymentInstruction
|
||||
// if (TransactionStatus.fail.equalsByKey(paymentIAny.getTransactionStatus())) {
|
||||
|
|
@ -500,6 +502,8 @@ public class PaymentInstructionCreator {
|
|||
// liabilitiesClaimsAssets.setClearingStatus(ClearingStatus.OK.getKey());
|
||||
// }
|
||||
|
||||
liabilitiesClaimsAssets.setLiabilitiesClaimsMoneyId(liabilitiesClaimsMoney.getId());
|
||||
liabilitiesClaimsAssets.setPaymentId(paymentIAny.getId());
|
||||
liabilitiesClaimsAssets.setUpdated(Instant.now());
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue