fix StatementService

This commit is contained in:
etreshenkov 2023-05-30 18:31:36 +03:00
parent 29b3f3b188
commit 0ce767d78f

View file

@ -7,10 +7,7 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.sdf.SDf01; import ru.clearing.classes.statics.data.sdf.*;
import ru.clearing.classes.statics.data.sdf.SDf04;
import ru.clearing.classes.statics.data.sdf.SDf13;
import ru.clearing.classes.statics.data.sdf.SDf57;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;
@ -95,9 +92,9 @@ public class StatementService extends QueueConsumer implements InitializingBean
//всегда сначала обработаем sdf04 //всегда сначала обработаем sdf04
Long key = completePairKey.get(); Long key = completePairKey.get();
Pair<StatementRequest, StatementRequest> pair = pairOfSdfRequest.get(key); Pair<StatementRequest, StatementRequest> pair = pairOfSdfRequest.get(key);
processSdf04(pair.getFirst()); processSdf08(pair.getFirst());
//затем sdf01 //затем sdf13
processSdf13(pair.getSecond()); processSdf13(pair.getSecond());
//теперь можем продолжить сессию с шага 1 //теперь можем продолжить сессию с шага 1
ContinueSessionBnRequest continueSessionBn = new ContinueSessionBnRequest(); ContinueSessionBnRequest continueSessionBn = new ContinueSessionBnRequest();
@ -116,12 +113,14 @@ public class StatementService extends QueueConsumer implements InitializingBean
service.execute(sdfGroup, statementRequest); service.execute(sdfGroup, statementRequest);
} }
private void processSdf04(StatementRequest statementRequest) { private void processSdf08(StatementRequest statementRequest) {
Imdg<SDf04> sdfImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf04, SDf04.class); Imdg<SDf08> sdfImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf08, SDf08.class);
Collection<? extends SpcexObjectBase> sdfGroup = sdfImdg.getCollectionObjectsByFieldValues(Map.of( Collection<? extends SpcexObjectBase> sdfGroup = sdfImdg.getCollectionObjectsByFieldValues(Map.of(
"generationId", statementRequest.getGroupId())); "generationId", statementRequest.getGroupId()));
AbstractExecutor service = executorsMap.get(SdfTable.SDF_04); AbstractExecutor service = executorsMap.get(SdfTable.SDF_08);
service.execute(sdfGroup, statementRequest); if (service != null) {
service.execute(sdfGroup, statementRequest);
}
} }
private void processSdf13(StatementRequest statementRequest) { private void processSdf13(StatementRequest statementRequest) {
@ -177,7 +176,6 @@ public class StatementService extends QueueConsumer implements InitializingBean
} else { } else {
//если таких нет, то просто создаем новую с одной частью //если таких нет, то просто создаем новую с одной частью
Long id = imdgProvider.getImdgIdGenerator().nextId(); Long id = imdgProvider.getImdgIdGenerator().nextId();
;
pairOfSdfRequest.put(id, getPairByTableName(sdfTable, statementRequest)); pairOfSdfRequest.put(id, getPairByTableName(sdfTable, statementRequest));
} }
} }
@ -189,7 +187,7 @@ public class StatementService extends QueueConsumer implements InitializingBean
switch (sdfTable) { switch (sdfTable) {
case SDF_01 -> pair = new Pair<>(statementRequest, null); case SDF_01 -> pair = new Pair<>(statementRequest, null);
case SDF_57 -> pair = new Pair<>(null, statementRequest); case SDF_57 -> pair = new Pair<>(null, statementRequest);
case SDF_04 -> pair = new Pair<>(statementRequest, null); case SDF_08 -> pair = new Pair<>(statementRequest, null);
case SDF_13 -> pair = new Pair<>(null, statementRequest); case SDF_13 -> pair = new Pair<>(null, statementRequest);
} }
return pair; return pair;
@ -202,7 +200,7 @@ public class StatementService extends QueueConsumer implements InitializingBean
uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() == null && entry.getValue().getSecond() != null).findFirst().map(Map.Entry::getKey); uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() == null && entry.getValue().getSecond() != null).findFirst().map(Map.Entry::getKey);
case SDF_57 -> case SDF_57 ->
uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() != null && entry.getValue().getSecond() == null).findFirst().map(Map.Entry::getKey); uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() != null && entry.getValue().getSecond() == null).findFirst().map(Map.Entry::getKey);
case SDF_04 -> case SDF_08 ->
uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() == null && entry.getValue().getSecond() != null).findFirst().map(Map.Entry::getKey); uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() == null && entry.getValue().getSecond() != null).findFirst().map(Map.Entry::getKey);
case SDF_13 -> case SDF_13 ->
uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() != null && entry.getValue().getSecond() == null).findFirst().map(Map.Entry::getKey); uncompletedPair = pairOfSdfRequest.entrySet().stream().filter(entry -> entry.getValue().getFirst() != null && entry.getValue().getSecond() == null).findFirst().map(Map.Entry::getKey);