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