ReturnDepositSession убрал условие на sessionType при включении в пул
This commit is contained in:
parent
7bda8ea334
commit
7abf031246
2 changed files with 21 additions and 14 deletions
|
|
@ -75,11 +75,13 @@ public class ReturnDepositSession extends AbstractSession implements Initializin
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
ImdgPredicateBuilder rgsPrctBuilder = registryImdg.predicateBuilder();
|
ImdgPredicateBuilder rgsPrctBuilder = registryImdg.predicateBuilder();
|
||||||
inclusionObligations.addRegistryCondition(
|
inclusionObligations.addRegistryCondition(
|
||||||
rgsPrctBuilder.or(rgsPrctBuilder.equals("registryStatus", RegistryStatus.PROC.getKey()),
|
rgsPrctBuilder.and(
|
||||||
rgsPrctBuilder.equals("registryStatus", RegistryStatus.MNG.getKey()))
|
rgsPrctBuilder.or(
|
||||||
);
|
rgsPrctBuilder.equals("registryStatus", RegistryStatus.PROC.getKey()),
|
||||||
inclusionObligations.addRegistryCondition(
|
rgsPrctBuilder.equals("registryStatus", RegistryStatus.MNG.getKey())
|
||||||
rgsPrctBuilder.less("valueDate", LocalDate.now())
|
),
|
||||||
|
rgsPrctBuilder.less("valueDate", LocalDate.now())
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -120,7 +122,6 @@ public class ReturnDepositSession extends AbstractSession implements Initializin
|
||||||
//stage 4
|
//stage 4
|
||||||
{
|
{
|
||||||
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
|
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
|
||||||
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
|
|
||||||
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
|
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
|
||||||
}
|
}
|
||||||
//stage 5
|
//stage 5
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,10 @@ import ru.spcex.clearing.session.stage.ISessionStage;
|
||||||
import ru.spcex.clearing.session.stage.StageResult;
|
import ru.spcex.clearing.session.stage.StageResult;
|
||||||
import ru.spcex.clearing.session.stage.Task;
|
import ru.spcex.clearing.session.stage.Task;
|
||||||
import ru.spcex.clearing.session.stage.task.InclusionToPoolPayload;
|
import ru.spcex.clearing.session.stage.task.InclusionToPoolPayload;
|
||||||
|
import ru.spcex.platform.enumeration.RegistryDesignation;
|
||||||
|
import ru.spcex.platform.enumeration.RegistryInstrumentType;
|
||||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||||
|
import ru.spcex.platform.enumeration.RegistryUnit;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
import ru.spcex.platform.imdg.api.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -74,22 +77,25 @@ public class InclusionObligations implements ISessionStage {
|
||||||
private StageResult inclusionToPool(String sessionType, Long counterPartyId) {
|
private StageResult inclusionToPool(String sessionType, Long counterPartyId) {
|
||||||
String sqlCondition = String.format("registryDesignation in ('%s', '%s') and " +
|
String sqlCondition = String.format("registryDesignation in ('%s', '%s') and " +
|
||||||
"registryInstrumentType in ('%s', '%s') and " +
|
"registryInstrumentType in ('%s', '%s') and " +
|
||||||
"registryUnit = '%s' and " +
|
"registryUnit = '%s'",
|
||||||
"sessionType = '%s'",
|
RegistryDesignation.O.getKey(), RegistryDesignation.T.getKey(),
|
||||||
"O", "T",
|
RegistryInstrumentType.S.getKey(), RegistryInstrumentType.M.getKey(),
|
||||||
"S", "M",
|
RegistryUnit.T.getKey());
|
||||||
"T",
|
|
||||||
sessionType);
|
|
||||||
ImdgPredicateBuilder prdctBuilder = registryImdg.predicateBuilder();
|
ImdgPredicateBuilder prdctBuilder = registryImdg.predicateBuilder();
|
||||||
|
ImdgPredicate defaultCondition = prdctBuilder.sql(sqlCondition);
|
||||||
|
if (sessionType != null) {
|
||||||
|
//не всегда нужное условие
|
||||||
|
defaultCondition = prdctBuilder.and(defaultCondition, prdctBuilder.equals("sessionType", sessionType));
|
||||||
|
}
|
||||||
ImdgPredicate registryPredicate;
|
ImdgPredicate registryPredicate;
|
||||||
if (registryConditions.size() > 0) {
|
if (registryConditions.size() > 0) {
|
||||||
registryPredicate = prdctBuilder.and(
|
registryPredicate = prdctBuilder.and(
|
||||||
prdctBuilder.sql(sqlCondition),
|
defaultCondition,
|
||||||
prdctBuilder.and(registryConditions.toArray(new ImdgPredicate[0]))
|
prdctBuilder.and(registryConditions.toArray(new ImdgPredicate[0]))
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
registryPredicate = prdctBuilder.and(
|
registryPredicate = prdctBuilder.and(
|
||||||
prdctBuilder.sql(sqlCondition),
|
defaultCondition,
|
||||||
prdctBuilder.equals("registryStatus", RegistryStatus.PROC.getKey())
|
prdctBuilder.equals("registryStatus", RegistryStatus.PROC.getKey())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue