diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/registry/RegistryManager.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/registry/RegistryManager.java index 69c6ecba4..cc1d402a0 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/registry/RegistryManager.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/registry/RegistryManager.java @@ -38,11 +38,17 @@ public class RegistryManager { public Optional searchDmxByCounterParty(Registry rgs) { if (TextUtil.isEmpty(rgs.getContract())) return Optional.empty(); - String sqlCondition = String.format("(%s) and companyId = %d and contract = '%s'", - RegistryCodeSqlBuilder.getInstance(DM_X).build(), - rgs.getCounterPartyId(), - rgs.getContract()); - Registry dmx = rgsImdg.getFirstObjectBySQL(sqlCondition); + ImdgPredicateBuilder pb = rgsImdg.predicateBuilder(); + ImdgPredicate prdct = pb.and( + pb.sql(RegistryCodeSqlBuilder.getInstance(DM_X).build()), + pb.equals("companyId", rgs.getCounterPartyId()), + pb.equals("contract", rgs.getContract()), + pb.or( + pb.equals("registryStatus", RegistryStatus.PROC.getKey()), + pb.equals("registryStatus", RegistryStatus.MNG.getKey()) + ) + ); + Registry dmx = rgsImdg.getFirstObjectByPredicate(prdct); return Optional.ofNullable(dmx); }