diff --git a/clearing-parent/backend-api/src/main/resources/meta.xml b/clearing-parent/backend-api/src/main/resources/meta.xml index c37f72d0b..8b59e7323 100644 --- a/clearing-parent/backend-api/src/main/resources/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta.xml @@ -245,7 +245,6 @@ - diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java index 0c728de44..5bc4eab1a 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java @@ -9,8 +9,8 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; public class CompanyInfo extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; - private Long companyId; // Company.CompanyInfo.companyId = CompanyInfo.id todo company_id=id - эти поля можно не добавлять в объект, их администрирует мапстор. И в базе получается они задублируются-лишнее поле company_id. - private String clearingMemberCategory; // ref CHAR(4), todo такие ссылки на словари - не понял нужны как строки или нужны как ID? Зависит от политики обновления словарей. + private Long companyId; // Company.CompanyInfo.companyId = CompanyInfo.id + private String clearingMemberCategory; // ref CHAR(4), private String corporationSoleType; // ref CHAR(4), private String countryCode; //ref CHAR(4), private String description; diff --git a/clearing-parent/db-scripts/src/main/resources/db/readme.txt b/clearing-parent/db-scripts/src/main/resources/db/readme.txt index c51d93a8b..3e1d23335 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/readme.txt +++ b/clearing-parent/db-scripts/src/main/resources/db/readme.txt @@ -1,16 +1,16 @@ TODO 1. Remove database -rm -fr /opt/otc/db/otc.fdb +rm -fr /opt/clearing/db/clearing.db 2. Create database file -/opt/firebird/bin/isql -user SYSDBA -password SYSDBA -"CREATE DATABASE '/opt/otc/db/otc.fdb' USER "SYSDBA" PASSWORD 'SYSDBA' ROLE 'RDB$ADMIN' PAGE_SIZE = 16384 DEFAULT CHARACTER SET UTF8 COLLATION UNICODE_CI_AI;" +/opt/postgresql(firebird?)/bin/isql -user SYSDBA -password SYSDBA +"CREATE DATABASE '/opt/clearing/db/clearing.db' USER "SYSDBA" PASSWORD 'SYSDBA' ROLE 'RDB$ADMIN' PAGE_SIZE = 16384 DEFAULT CHARACTER SET UTF8 COLLATION UNICODE_CI_AI;" "exit;" 3. Create database tables -/opt/firebird/bin/isql -user SYSDBA -password SYSDBA -charset WIN1251 /opt/otc/db/otc.fdb +/opt/firebird/bin/isql -user SYSDBA -password SYSDBA -charset WIN1251 /opt/clearing/db/clearing.db "input DDL.sql;" "exit;" 4. Input initial data and dictionary values -cat DATA.sql | /opt/firebird/bin/isql -user SYSDBA -password SYSDBA /opt/otc/db/otc.fdb +cat DATA.sql | /opt/firebird/bin/isql -user SYSDBA -password SYSDBA /opt/clearing/db/clearing.db diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java index 4ce9f09bb..159dc2b56 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java @@ -24,7 +24,7 @@ public class PoolMapConfigs { private MapStoreConfig makeDefaultMapStoreConfig(MapLoader mapBean) { return new MapStoreConfig() .setImplementation(mapBean) -;//todo config: .setWriteDelaySeconds(configRoot.getHazelcast().getDbSyncSeconds()); +;//todo config: .setWriteDelaySeconds(configRoot.getIMDG().getDbSyncSeconds()); } public ScheduledExecutorConfig makeDefaultScheduledExecutorConfig(String name) { @@ -40,7 +40,7 @@ public class PoolMapConfigs { .setName(mapName) .setInMemoryFormat(InMemoryFormat.OBJECT) .setMapStoreConfig(makeDefaultMapStoreConfig(mapBean)) -//fixme config: .setBackupCount(configRoot.getHazelcast().getBackupCount()) +//fixme config: .setBackupCount(configRoot.getIMDG().getBackupCount()) ; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbDefaultConfig.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbDefaultConfig.java index 3ff2647b2..561ce1995 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbDefaultConfig.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbDefaultConfig.java @@ -5,6 +5,6 @@ import javax.sql.DataSource; public class DbDefaultConfig { public static DataSource getEmbeddedDatabase(String embeddedFilePath) { - throw new UnsupportedOperationException("Are PostgreSQL not supported embedded DB?");//todo PsotgreSQL + throw new UnsupportedOperationException("Are PostgreSQL not supported embedded DB?");//todo PsotgreSQL для юнит тестов } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbUtilsHelper.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbUtilsHelper.java index 932f413c6..87b815198 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbUtilsHelper.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/DbUtilsHelper.java @@ -42,10 +42,9 @@ public class DbUtilsHelper { " (" + Arrays.stream(fields).map(f -> "\"" + f.toUpperCase() + "\"").collect(Collectors.joining(", ")) + ") values (" + // Arrays.stream(fields).map(f -> "\"" + f.toUpperCase() + "\"").collect(Collectors.joining(", ", ":", "")); String.join(", ", Collections.nCopies(fields.length, "?")) + - ") WHERE "; - if (matchingKey != null) // PostgreSQL conflict_target fixme проверить мэтчинг - updateOrInsert += " " + matchingKey.toUpperCase(); - updateOrInsert += " CONFLICT DO UPDATE"; + ") ON CONFLICT "; + updateOrInsert += "(" + matchingKey.toUpperCase()+")"; + updateOrInsert += " DO UPDATE SET " + Arrays.stream(fields).filter(f->!matchingKey.equalsIgnoreCase(f)).map(f -> "\"" + f.toUpperCase() + "\"=EXCLUDED.\"" + f.toUpperCase() + "\"").collect(Collectors.joining(", ")); return updateOrInsert; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/TimeUtil.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/TimeUtil.java index 397878a84..4cad30876 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/TimeUtil.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/utils/TimeUtil.java @@ -14,7 +14,7 @@ import java.util.Date; /** * Для работы с java.util.Date * И конвертация в новый формат - * todo копипаст юниттеста нужен. + * todo добавить юниттест. * todo зарефакторить */ public class TimeUtil {