This commit is contained in:
AKurakin 2023-02-03 16:47:10 +03:00
parent 12511a48e9
commit c9676d3dfb
2 changed files with 13 additions and 20 deletions

View file

@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
import ru.spcex.clearing.error.ClearingErrorInternal;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.Consts;
@ -214,6 +215,14 @@ public class Clearing {
});
lbltsClmsAssetsCreator.updateLca(lca, lcmFirstLegFound.orElse(wrapperFirstLegCreated.firstLegCreated));
liabilitiesClaimsAssetsImdg.update(lca);
List<PaymentInstruction> paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category));
paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lca, paymentInstructions, Collections.singleton(category));
liabilitiesClaimsAssetsImdg.update(lca);
var firstLegLiabilitiesClaimsMoney = lcmFirstLegFound.orElseGet(() -> wrapperFirstLegCreated.firstLegCreated);
paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, paymentInstructions, Collections.singleton(category));
liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney);
log.trace("LiabilitiesClaimsMoney first leg {} was updated", firstLegLiabilitiesClaimsMoney.getId());
}
}

View file

@ -70,7 +70,7 @@ public class PaymentInstructionCreator {
public List<PaymentInstruction> createAndSavePaymentInstructions(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
Collection<ClearingCategory> clearingCategory) {
List<PaymentInstruction> newPaymentInstructions = createPaymentInstructions(liabilitiesClaimsAssets, clearingCategory);
log.debug("Created {} PaymentInstruction by LiabilitiesClaimsAssets[{}]",
log.trace("Created {} PaymentInstruction by LiabilitiesClaimsAssets[{}]. Do save ti IMDG.",
newPaymentInstructions.size(), liabilitiesClaimsAssets.getId());
for (PaymentInstruction instruction : newPaymentInstructions) {
paymentInstructionImdg.insert(instruction);
@ -436,23 +436,7 @@ public class PaymentInstructionCreator {
/**
* 2.2.2.1. Выполнить Изменение liabilitiesClaimsAssets по paymentInstruction.
*/
public LiabilitiesClaimsAssets updateLiabilitiesClaimsAssetsByPaymentInstruction(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
List<PaymentInstruction> paymentInstructions,
Collection<ClearingCategory> clearingCategory) {
Long lId = liabilitiesClaimsAssets.getId();
log.debug("Update LiabilitiesClaimsAssets[{}] by paymentInstructions {}", lId, paymentInstructions.stream().map(SpcexObjectBase::getId).collect(Collectors.toList()));
liabilitiesClaimsAssets = liabilitiesClaimsAssetsImdg.getSingleObjectByID(lId); // update data for update
if (liabilitiesClaimsAssets == null) {
throw new RuntimeException("IMDG not contains liabilitiesClaimsAssets.id=" + lId);
}
updateFieldLiabilitiesClaimsAssetsByPayment(liabilitiesClaimsAssets, paymentInstructions, clearingCategory);
liabilitiesClaimsAssetsImdg.update(liabilitiesClaimsAssets);
return liabilitiesClaimsAssets;
}
protected void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
public void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets,
List<PaymentInstruction> paymentInstructions,
Collection<ClearingCategory> clearingCategory) {
@ -517,12 +501,12 @@ public class PaymentInstructionCreator {
/**
* Обновление liabilitiesClaimsMoney первой ноги по liabilitiesClaimsAssets
* @param liabilitiesClaimsMoney обновить этот объект
* @param liabilitiesClaimsMoney обновить этот объект (firstLeg)
* @param paymentInstructions
* @param clearingCategory
* @return были внесены изменения в liabilitiesClaimsMoney
*/
protected boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney,
public boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney,
List<PaymentInstruction> paymentInstructions,
Collection<ClearingCategory> clearingCategory) {
boolean modified = false;