http://jira.mfd.msk:8088/browse/CLS-189 PaymentInstructionCreator правка заполнения из Credit/DebitLegAmount пустого.
This commit is contained in:
parent
1922203226
commit
e960fb6cb4
1 changed files with 19 additions and 12 deletions
|
|
@ -68,6 +68,7 @@ public class PaymentInstructionCreator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 2.2.2. Выполнить Создание paymentInstruction по liabilitiesClaimsAssets
|
* 2.2.2. Выполнить Создание paymentInstruction по liabilitiesClaimsAssets
|
||||||
|
*
|
||||||
* @return Созданные PaymentInstruction, может быть несколько. Они уже сохранены в IMDG.
|
* @return Созданные PaymentInstruction, может быть несколько. Они уже сохранены в IMDG.
|
||||||
*/
|
*/
|
||||||
public List<PaymentInstruction> createAndSavePaymentInstructions(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
|
public List<PaymentInstruction> createAndSavePaymentInstructions(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
|
||||||
|
|
@ -446,30 +447,30 @@ 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,
|
||||||
List<PaymentInstruction> paymentInstructions,
|
List<PaymentInstruction> paymentInstructions,
|
||||||
Collection<ClearingCategory> clearingCategory) {
|
Collection<ClearingCategory> clearingCategory) {
|
||||||
|
|
||||||
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 = paymentIAny.getCreditLegAmount() == null ? BigDecimal.ZERO : new BigDecimal((Long)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 = paymentIAny.getCreditLegAmount() == null ? BigDecimal.ZERO : new BigDecimal((Long)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 = new BigDecimal((Long)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 = new BigDecimal((Long)paymentIAny.getDebitLegAmount());
|
BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount());
|
||||||
amount = liabilitiesClaimsAssets.getClaimsQuantity().subtract(amount);
|
amount = liabilitiesClaimsAssets.getClaimsQuantity().subtract(amount);
|
||||||
liabilitiesClaimsAssets.setClaimsQuantity(amount);
|
liabilitiesClaimsAssets.setClaimsQuantity(amount);
|
||||||
}
|
}
|
||||||
|
|
@ -510,26 +511,27 @@ public class PaymentInstructionCreator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Обновление liabilitiesClaimsMoney первой ноги по liabilitiesClaimsAssets
|
* Обновление liabilitiesClaimsMoney первой ноги по liabilitiesClaimsAssets
|
||||||
|
*
|
||||||
* @param liabilitiesClaimsMoney обновить этот объект (firstLeg)
|
* @param liabilitiesClaimsMoney обновить этот объект (firstLeg)
|
||||||
* @param paymentInstructions
|
* @param paymentInstructions
|
||||||
* @param clearingCategory
|
* @param clearingCategory
|
||||||
* @return были внесены изменения в liabilitiesClaimsMoney
|
* @return были внесены изменения в liabilitiesClaimsMoney
|
||||||
*/
|
*/
|
||||||
public boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney,
|
public boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney,
|
||||||
List<PaymentInstruction> paymentInstructions,
|
List<PaymentInstruction> paymentInstructions,
|
||||||
Collection<ClearingCategory> clearingCategory) {
|
Collection<ClearingCategory> clearingCategory) {
|
||||||
boolean modified = false;
|
boolean modified = false;
|
||||||
|
|
||||||
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 = liabilitiesClaimsMoney.getLiabilitiesAmount().subtract(new BigDecimal((Long)paymentIAny.getCreditLegAmount()));
|
BigDecimal amount = liabilitiesClaimsMoney.getLiabilitiesAmount().subtract(bdFromLongSafe(paymentIAny.getCreditLegAmount()));
|
||||||
liabilitiesClaimsMoney.setLiabilitiesAmount(amount);
|
liabilitiesClaimsMoney.setLiabilitiesAmount(amount);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((clearingCategory.contains(ClearingCategory.B))) {
|
if ((clearingCategory.contains(ClearingCategory.B))) {
|
||||||
BigDecimal amount = liabilitiesClaimsMoney.getClaimsAmount().subtract(new BigDecimal((Long)paymentIAny.getDebitLegAmount()));
|
BigDecimal amount = liabilitiesClaimsMoney.getClaimsAmount().subtract(bdFromLongSafe(paymentIAny.getDebitLegAmount()));
|
||||||
liabilitiesClaimsMoney.setClaimsAmount(amount);
|
liabilitiesClaimsMoney.setClaimsAmount(amount);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|
@ -539,4 +541,9 @@ public class PaymentInstructionCreator {
|
||||||
}
|
}
|
||||||
return modified;
|
return modified;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BigDecimal bdFromLongSafe(Long l) {
|
||||||
|
if (l == null) return BigDecimal.ZERO;
|
||||||
|
return new BigDecimal(l);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue