SDF57 executor balance из statement
финальная сессия МКР 5 шаг UNCV/FAIL
This commit is contained in:
parent
61332c5b73
commit
7f9d8badec
2 changed files with 27 additions and 11 deletions
|
|
@ -241,7 +241,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
|||
dm__.getId());
|
||||
} else if (om_tFound.isPresent()) {
|
||||
Registry om_t = om_tFound.get();
|
||||
Registry registryD = copyRegD(om_t, RegistryUnit.T);
|
||||
Registry registryD = copyRegD(om_t, stmt, RegistryUnit.T);
|
||||
registryImdg.insert(registryD);
|
||||
log.debug("stmt.id={}, sdf57.specif={}, found OM*T.id={} new DM*T.id={}",
|
||||
stmt.getId(),
|
||||
|
|
@ -250,7 +250,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
|||
registryD.getId());
|
||||
} else if (tm_tFound.isPresent()) {
|
||||
Registry tm_t = tm_tFound.get();
|
||||
Registry registryD = copyRegD(tm_t, RegistryUnit.X);
|
||||
Registry registryD = copyRegD(tm_t, stmt, RegistryUnit.X);
|
||||
registryImdg.insert(registryD);
|
||||
log.debug("stmt.id={}, sdf57.specif={} found TM*T.id={} new DM*X.id={}. Return money identification for Initiator account based on TM*T registry searchin on companyId, accountId, contract and registry_status=PROC|MGN",
|
||||
stmt.getId(),
|
||||
|
|
@ -298,11 +298,12 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
|||
return rgsF;
|
||||
}
|
||||
|
||||
private Registry copyRegD(Registry rgs, RegistryUnit unit) {
|
||||
private Registry copyRegD(Registry rgs, Statement stmt, RegistryUnit unit) {
|
||||
Registry rgsD = rgs.clone();
|
||||
rgsD.setRegistryDesignation(RegistryDesignation.D.getKey());
|
||||
rgsD.setRegistryUnit(unit.getKey());
|
||||
rgsD.setRegistryCode(RegistryUtil.clearingCode(rgsD));
|
||||
rgsD.setBalance(stmt.getAmount());
|
||||
return rgsD;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
Optional<Registry> omtInGroupO = group.stream().filter(registry -> equalByRgs(OM_T, registry)).findFirst();
|
||||
if (omtInGroupO.isEmpty()) {
|
||||
log.error("groupId {} failed to find OM*T registry", entry.getKey());
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusFailed()));
|
||||
continue;
|
||||
}
|
||||
Registry omtRgs = omtInGroupO.get();
|
||||
|
|
@ -130,8 +130,11 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
);
|
||||
if (dmxBalance.compareTo(omtBalance) >= 0) {
|
||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
||||
updateStatus(dmx.get(), RegistryStatus.OK);
|
||||
} else {
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||
//для OM*T uncovered остальным фейл
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusFailed(rgs)));
|
||||
updateStatus(dmx.get(), RegistryStatus.UNCV);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
|
@ -139,7 +142,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
Optional<Registry> amfAssetO = searchAssetByOMT(omtRgs);
|
||||
if (amfAssetO.isEmpty()) {
|
||||
log.error("OM*T register.id={} groupId={} failed to find AM*F asset", omtRgs.getId(), entry.getKey());
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusFailed()));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -157,7 +160,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
if (dmtBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >=0) {
|
||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
||||
} else {
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusFailed()));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
|
@ -172,13 +175,13 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
if (dmtBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >= 0) {
|
||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
||||
} else {
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusFailed()));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
log.info("OM*T.id={} -> no DM*X/DM*T(INFO/CLRN) registry found. setting {} status to group",
|
||||
omtRgs.getId(), registryStatusForDmxCheckFailed());
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||
omtRgs.getId(), registryStatusFailed());
|
||||
group.forEach(rgs -> updateStatus(rgs, registryStatusFailed()));
|
||||
}
|
||||
return new StageResult<>(null, true);
|
||||
}
|
||||
|
|
@ -247,7 +250,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
);
|
||||
}
|
||||
|
||||
private RegistryStatus registryStatusForDmxCheckFailed() {
|
||||
private RegistryStatus registryStatusFailed() {
|
||||
if (SessionType.FINL.equals(sessionType)) {
|
||||
return RegistryStatus.FAIL;
|
||||
} else {
|
||||
|
|
@ -255,6 +258,18 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
|||
}
|
||||
}
|
||||
|
||||
private RegistryStatus registryStatusFailed(Registry registry) {
|
||||
if (SessionType.FINL.equals(sessionType)) {
|
||||
if (equalByRgs(OM_T, registry)) {
|
||||
return RegistryStatus.UNCV;
|
||||
} else {
|
||||
return RegistryStatus.FAIL;
|
||||
}
|
||||
} else {
|
||||
return RegistryStatus.MNG;
|
||||
}
|
||||
}
|
||||
|
||||
public void setSessionType(SessionType sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue