Compare commits

...

10 commits

Author SHA1 Message Date
ilyin
5ee2ba171d save 2024-09-28 21:32:01 +03:00
ilyin
0a667d0903 save 2024-09-28 21:20:42 +03:00
ilyin
309850c070 fix 2024-09-27 21:15:01 +03:00
ilyin
fd0ebc7ba5 save 2024-09-27 20:19:58 +03:00
ilyin
363fa8f35c save 2024-09-27 16:16:48 +03:00
ilyin
27c43a9eba config_change 2024-09-27 15:47:00 +03:00
kochetkov
032be4bd78 fix 2024-09-27 15:31:30 +03:00
kochetkov
77edfa1261 fix 2024-09-27 15:29:14 +03:00
kochetkov
d964f346c0 fix 2024-09-27 15:23:22 +03:00
ilyin
94b0c72eb0 javax_to_jakarta 2024-09-27 15:12:55 +03:00
9 changed files with 454 additions and 157 deletions

View file

@ -6,17 +6,17 @@
$$
begin
update recruits
set current_recruitment_id = 'ИДЕНТИФИКАТОР ТЕСТОВОГО ВК'
,target_recruitment_id = 'ИДЕНТИФИКАТОР ТЕСТОВОГО ВК'
,department_id_old = 'ИДЕНТИФИКАТОР ТЕСТОВОГО ВК'
set current_recruitment_id = '04047533-ee2d-4266-b656-e509a547f0e9'
,target_recruitment_id = '04047533-ee2d-4266-b656-e509a547f0e9'
,department_id_old = '04047533-ee2d-4266-b656-e509a547f0e9'
,system_pgs_status = '13'
,extra_info = jsonb_set(coalesce(extra_info,'{}'::jsonb), '{blocked}',
('{"cur":'|| coalesce('"'||current_recruitment_id::text||'"','null')||
',"trg":'|| coalesce('"'||target_recruitment_id::text||'"','null')||
',"dio":'|| coalesce('"'||department_id_old::text||'"','null')||
',"st":'|| coalesce('"'||system_pgs_status::text||'"','null')||'}')::jsonb
',"trg":'|| coalesce('"'||target_recruitment_id::text||'"','null')||
',"dio":'|| coalesce('"'||department_id_old::text||'"','null')||
',"st":'|| coalesce('"'||system_pgs_status::text||'"','null')||'}')::jsonb
)
where id in ${endpointArguments} ${extraConditions};
where id in ${endpointArguments};
end
$$;
]]>
@ -28,8 +28,8 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcDatabase>summon-list-registry</JdbcDatabase>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>person_registry</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
@ -39,23 +39,23 @@
DO
$$
BEGIN
DELETE FROM subpoena_history where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM subpoena_appearance where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}));
DELETE FROM subpoena_send_info where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}));
DELETE FROM subpoena_history where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM subpoena_appearance where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM subpoena_send_info where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM notification_item where restriction_document_item_id in (
select id from restriction_document_item where restriction_document_create_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}))));
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments})));
DELETE FROM notification_item where restriction_document_item_id in (
select id from restriction_document_item where restriction_document_cancel_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}))));
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments})));
DELETE FROM restriction_document_item where restriction_document_create_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions})));
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments}));
DELETE FROM restriction_document_item where restriction_document_cancel_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions})));
DELETE FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}));
DELETE FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions};
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments}));
DELETE FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM subpoena where recruit_id in ${endpointArguments};
END
$$;
]]>
@ -67,7 +67,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>subpoena</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
@ -80,8 +80,8 @@
BEGIN
DELETE
FROM incident_history
where incident_id in (select id from incident where recruit_id in ${endpointArguments} ${extraConditions}));
DELETE FROM incident where recruit_id in ${endpointArguments} ${extraConditions};
where incident_id in (select id from incident where recruit_id in ${endpointArguments});
DELETE FROM incident where recruit_id in ${endpointArguments};
END
$$;
]]>
@ -93,7 +93,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>incidents</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
@ -103,8 +103,12 @@
<![CDATA[
DO
$$
DECLARE
var1 uuid[] := '{
${endpointArguments}
}';
BEGIN
DELETE FROM notifications where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM notifications where recruit_id = any (var1);
END
$$;
]]>
@ -116,7 +120,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>geps_notifications</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
@ -127,7 +131,7 @@
DO
$$
DECLARE
recruitIds uuid[] := '{${endpointArguments}}';
recruitIds uuid[] := ${endpointArguments};
importIds uuid[] := ARRAY(SELECT import_id
FROM import_results
WHERE recruit_id = ANY (recruitIds));
@ -155,7 +159,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>journal_dev</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>

View file

@ -5,10 +5,10 @@
DO
$$
BEGIN
DELETE FROM summoned_list where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruit_active_list where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM documents where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM summoned_list where recruit_id in ${endpointArguments};
DELETE FROM recruit_active_list where recruit_id in ${endpointArguments};
DELETE FROM documents where recruit_id in ${endpointArguments};
DELETE FROM subpoena where recruit_id in ${endpointArguments};
END
$$;
]]>
@ -20,7 +20,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>summon-list-registry</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
@ -28,9 +28,6 @@
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
begin
update recruits
set current_recruitment_id = jsonb_extract_path_text(extra_info,'blocked','cur')::uuid
,target_recruitment_id = jsonb_extract_path_text(extra_info,'blocked','trg')::uuid
@ -38,9 +35,7 @@
,system_pgs_status = '1.2'
,conscription = null
,extra_info = extra_info - ('blocked')
where id in ${endpointArguments} ${extraConditions};
end
$$;
where id in ${endpointArguments};
]]>
</RequestURL>
<SqlConnectionParams>
@ -50,7 +45,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>person_registry</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>

View file

@ -1,28 +1,30 @@
<Requests>
<!-- 002_2-ervu_subpoena_registry_delete_all_with_recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
BEGIN
DELETE FROM subpoena_history where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions});
DELETE FROM subpoena_appearance where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions});
DELETE FROM subpoena_send_info where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions});
DELETE FROM subpoena_history where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM subpoena_appearance where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM subpoena_send_info where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM notification_item where restriction_document_item_id in (
select id from restriction_document_item where restriction_document_create_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions})));
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments})));
DELETE FROM notification_item where restriction_document_item_id in (
select id from restriction_document_item where restriction_document_cancel_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions})));
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments})));
DELETE FROM restriction_document_item_history WHERE recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM restriction_document_item_history WHERE recruit_id in ${endpointArguments};
DELETE FROM restriction_document_item where restriction_document_create_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}));
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments}));
DELETE FROM restriction_document_item where restriction_document_cancel_id in (
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions}));
DELETE FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions});
DELETE FROM subpoena where recruit_id in ${endpointArguments} ${extraConditions};
select id FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments}));
DELETE FROM restriction_document where subpoena_id in (select id FROM subpoena where recruit_id in ${endpointArguments});
DELETE FROM subpoena where recruit_id in ${endpointArguments};
DELETE FROM recruits WHERE id in ${endpointArguments};
END
$$;
]]>
@ -34,25 +36,24 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>subpoena</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
<!-- last sql from 002_2-ervu_subpoena_registry_delete_all_with_recruit -->
<!-- 005-ervu_decision_document-delete-recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
BEGIN
DELETE FROM decision where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM foreign_decision where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM infringement where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM system_document where attachment_id in (SELECT id FROM attachment where recruit_id in ${endpointArguments} ${extraConditions}) ;
DELETE FROM attachment where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruits WHERE id in ${endpointArguments} ${extraConditions};
DELETE FROM decision where recruit_id in ${endpointArguments};
DELETE FROM foreign_decision where recruit_id in ${endpointArguments};
DELETE FROM infringement where recruit_id in ${endpointArguments};
DELETE FROM system_document where attachment_id in (SELECT id FROM attachment where recruit_id in ${endpointArguments}) ;
DELETE FROM attachment where recruit_id in ${endpointArguments};
DELETE FROM recruit where id in ${endpointArguments};
END
$$;
]]>
@ -64,18 +65,19 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>decision-document-service</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
<!-- 004-ervu_journal-delete-recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
DECLARE
recruitIds uuid[] := '{${endpointArguments}}';
recruitIds uuid[] := ${endpointArguments};
importIds uuid[] := ARRAY(SELECT import_id
FROM import_results
WHERE recruit_id = ANY (recruitIds));
@ -93,7 +95,7 @@
DELETE FROM object_history WHERE object_id = ANY (recruitIds);
DELETE FROM object_versions WHERE object_id = ANY (recruitIds);
END
$$;
$$;
]]>
</RequestURL>
<SqlConnectionParams>
@ -103,18 +105,23 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>journal_dev</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
<!-- 008-ervu_geps_notifications-delete-recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
DECLARE
var1 uuid[] := '{
${endpointArguments}
}';
BEGIN
DELETE FROM notifications where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM notifications where recruit_id = any (var1);
END
$$;
]]>
@ -126,22 +133,27 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>geps_notifications</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
<!-- 007_2-ervu_incidents-delete-all_of_recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
DECLARE
var1 uuid[] := '{
${endpointArguments}
}';
BEGIN
DELETE
FROM incident_history
where incident_id in (select id from incident where recruit_id in ${endpointArguments} ${extraConditions});
DELETE FROM incident where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruits where id in ${endpointArguments} ${extraConditions};
where incident_id in (select id from incident where recruit_id = any (var1));
DELETE FROM incident where recruit_id = any (var1);
DELETE FROM recruits where id = any (var1);
END
$$;
]]>
@ -153,31 +165,38 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>incidents</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
<!-- 001-ervu_person_registry-delete-recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
DECLARE
var1 uuid[] := '{
${endpointArguments}
}';
BEGIN
DELETE FROM recruits_info where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruit_xml_data where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruits_history where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM application where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM department_history where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM documents where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM decision where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM personal_documents where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruit_private_file where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM system_documents where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM system_document_dto where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM subpoena_dto where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM attachments where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM summoned_list where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruits_info where recruit_id = any (var1);
-- DELETE FROM recruit_archive where recruit_id = any (var1);
DELETE FROM recruit_xml_data where recruit_id = any (var1);
DELETE FROM recruits_history where recruit_id = any (var1);
DELETE FROM application where recruit_id = any (var1);
DELETE FROM department_history where recruit_id = any (var1);
DELETE FROM documents where recruit_id = any (var1);
DELETE FROM decision where recruit_id = any (var1);
DELETE FROM personal_documents where recruit_id = any (var1);
DELETE FROM recruit_private_file where recruit_id = any (var1);
DELETE FROM system_documents where recruit_id = any (var1);
DELETE FROM system_document_dto where recruit_id = any (var1);
DELETE FROM subpoena_dto where recruit_id = any (var1);
DELETE FROM attachments where recruit_id = any (var1);
DELETE FROM summoned_list where recruit_id = any (var1);
DELETE FROM recruits where id = any (var1);
END
$$;
]]>
@ -189,20 +208,24 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>person_registry</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>
<!-- last sql from 001-ervu_person_registry-delete-recruit -->
<!-- 009_1-ervu_appeal_document-delete-appeal-with-recruit -->
<SqlRequest>
<RequestURL>
<![CDATA[
DO
$$
BEGIN
DELETE FROM appeal_document where recruit_id in ${endpointArguments} ${extraConditions};
DELETE FROM recruits where id in ${endpointArguments} ${extraConditions};
DECLARE
var1 uuid[] := '{
${endpointArguments}
}';
BEGIN
DELETE FROM appeal_document where recruit_id = any (var1);
DELETE FROM recruit where id = any (var1);
END
$$;
]]>
@ -214,7 +237,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>appeal-document-service</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>

View file

@ -4,16 +4,16 @@
<![CDATA[
DO
$$
begin
update recruits
set current_recruitment_id = jsonb_extract_path_text(extra_info,'blocked','cur')::uuid
,target_recruitment_id = jsonb_extract_path_text(extra_info,'blocked','trg')::uuid
,department_id_old = jsonb_extract_path_text(extra_info,'blocked','dio')::uuid
,system_pgs_status = '1.2'
,conscription = null
,extra_info = extra_info - ('blocked')
where id in ${endpointArguments} ${extraConditions};
end
begin
update recruits
set current_recruitment_id = jsonb_extract_path_text(extra_info,'blocked','cur')::uuid
,target_recruitment_id = jsonb_extract_path_text(extra_info,'blocked','trg')::uuid
,department_id_old = jsonb_extract_path_text(extra_info,'blocked','dio')::uuid
,system_pgs_status = '1.2'
,conscription = null
,extra_info = extra_info - ('blocked')
where id in ${endpointArguments};
end
$$;
]]>
</RequestURL>
@ -24,7 +24,7 @@
<JdbcPassword>ervu</JdbcPassword>
<JdbcDriverClassName>org.postgresql.Driver</JdbcDriverClassName>
<JdbcXaDataSourceClassName>org.postgresql.xa.PGXADataSource</JdbcXaDataSourceClassName>
<JdbcXaDataSourcePoolSize>15</JdbcXaDataSourcePoolSize>
<JdbcXaDataSourcePoolSize>50</JdbcXaDataSourcePoolSize>
<JdbcDatabase>person_registry</JdbcDatabase>
</SqlConnectionParams>
</SqlRequest>

View file

@ -2,8 +2,8 @@ package org.micord.models;
import lombok.Setter;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlValue;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlValue;
/**
* @author Maksim Tereshin

View file

@ -2,8 +2,8 @@ package org.micord.models;
import lombok.Setter;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlSeeAlso;
import java.util.List;
/**

View file

@ -147,50 +147,59 @@ public class RequestService {
}
}
private Map<String, Object> buildSqlQuery(SqlRequest request, List<String> ids) {
Map<String, Object> resultMap = new HashMap<>();
String endpointArguments = "(" + ids.stream()
.map(id -> "'" + id.trim() + "'")
private Map<String, Object> buildSqlQuery(SqlRequest request, List<String> ids) {
Map<String, Object> resultMap = new HashMap<>();
String endpointArguments;
String requestURL = request.getRequestURL();
if (requestURL.contains(":=")) {
endpointArguments = "'{" + ids.stream()
.map(String::trim)
.collect(Collectors.joining(", ")) + "}'";
} else {
endpointArguments = "(" + ids.stream()
.map(s -> "'" + s.trim() + "'")
.collect(Collectors.joining(", ")) + ")";
}
String requestURL = request.getRequestURL();
if (request.getRequestArguments() != null && !request.getRequestArguments().isEmpty()) {
for (RequestArgument argument : request.getRequestArguments()) {
if (request.getRequestArguments() != null && !request.getRequestArguments().isEmpty()) {
for (RequestArgument argument : request.getRequestArguments()) {
if (argument.getRequestArgumentConnectionParams() != null) {
try (Connection connection = DatabaseConnection.getConnection(
argument.getRequestArgumentConnectionParams())) {
String query = argument.getRequestArgumentURL();
List<String> result = fetchFileListFromDatabaseSQL(connection, query);
if (argument.getRequestArgumentConnectionParams() != null) {
try (Connection connection = DatabaseConnection.getConnection(
argument.getRequestArgumentConnectionParams())) {
String query = argument.getRequestArgumentURL();
List<String> result = fetchFileListFromDatabaseSQL(connection, query);
resultMap.put("ids", result);
resultMap.put("ids", result);
if (result != null && !result.isEmpty()) {
String resultSet = "(" + result.stream()
.map(s -> "'" + s.trim() + "'")
.collect(Collectors.joining(", ")) + ")";
if (result != null && !result.isEmpty()) {
String resultSet = "(" + result.stream()
.map(s -> "'" + s.trim() + "'")
.collect(Collectors.joining(", ")) + ")";
requestURL = requestURL.replace("${" + argument.getRequestArgumentName() + "}", resultSet);
}
requestURL = requestURL.replace("${" + argument.getRequestArgumentName() + "}", resultSet);
}
catch (SQLException e) {
logger.error("Failed to execute query for RequestArgument", e);
}
}
catch (SQLException e) {
logger.error("Failed to execute query for RequestArgument", e);
}
}
}
resultMap.put("requestURL", requestURL
.replace("${DB}", request.getSqlConnectionParams().getJdbcDatabase())
.replace("${endpointArguments}", endpointArguments));
return resultMap;
}
resultMap.put("requestURL", requestURL
.replace("${DB}", request.getSqlConnectionParams().getJdbcDatabase())
.replace("${endpointArguments}", endpointArguments));
return resultMap;
}
private boolean executeSqlQuery(Connection connection, String query) throws SQLException {
try (PreparedStatement stmt = connection.prepareStatement(query)) {
return stmt.execute();

12
pom.xml
View file

@ -41,13 +41,6 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
@ -381,6 +374,11 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>com.atomikos</groupId>
<artifactId>transactions-jta</artifactId>

View file

@ -48,6 +48,7 @@
<componentRootId>15508c49-88e3-4143-a398-cbfaedc4a59f</componentRootId>
<name>Tab container</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="1c20b23e-f269-42ff-aa6f-ec2e7ff152cf"/>
<scripts id="aba9b3cf-fe50-4149-84cd-ff7b6ed4e99d">
@ -219,10 +220,6 @@
<entry>
<key>executeSqlButtonService</key>
<value>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
<complex>
<entry>
<key>jndiName</key>
@ -237,6 +234,10 @@
</value>
</entry>
</complex>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
</value>
</entry>
</properties>
@ -440,6 +441,7 @@
<componentRootId>6418a8d9-ec10-40b8-b21d-43fe6f39e90a</componentRootId>
<name>Hbox</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0">
@ -672,10 +674,6 @@
<entry>
<key>executeSqlButtonService</key>
<value>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
<complex>
<entry>
<key>jndiName</key>
@ -690,6 +688,10 @@
</value>
</entry>
</complex>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
</value>
</entry>
</properties>
@ -886,6 +888,7 @@
<componentRootId>d07c1fdd-b0c2-4c06-bc2f-eb5de174f5db</componentRootId>
<name>Hbox</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0">
@ -1125,10 +1128,6 @@
<entry>
<key>executeSqlButtonService</key>
<value>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
<complex>
<entry>
<key>jndiName</key>
@ -1143,6 +1142,10 @@
</value>
</entry>
</complex>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
</value>
</entry>
</properties>
@ -1346,6 +1349,7 @@
<componentRootId>9af05980-e46b-4ed0-9758-dd80e48adfb5</componentRootId>
<name>Hbox</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0">
@ -1540,6 +1544,269 @@
</properties>
</scripts>
</children>
<children id="01dd02ec-9ea9-4828-864e-e943d30c3de2">
<prototypeId>57c7cd21-1556-4dbd-b9da-33520486a1db</prototypeId>
<componentRootId>01dd02ec-9ea9-4828-864e-e943d30c3de2</componentRootId>
<name>SQL Получить ИД ЕРВУ граждан unlock</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="9403e589-958e-434b-8851-95ab1d93c60f">
<properties>
<entry>
<key>caption</key>
<value>
<simple>"Получить ИД ЕРВУ граждан"</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="e20ed17a-dae5-4d4b-ad9f-763a66627bf5">
<properties>
<entry>
<key>queryParams</key>
<value>
<item id="2c335f90-9cb2-4628-84ad-25aec188c84c" removed="false">
<value>
<complex>
<entry>
<key>objectValue</key>
<value>
<complex>
<entry>
<key>argument</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"8c85fe31-bdb8-495e-8c4c-7addc9d7ba71","packageName":"component.field","className":"TextArea","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"getValue"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
</properties>
</scripts>
<scripts id="c4fb9d3b-97d1-4384-a567-e9e387054a21">
<properties>
<entry>
<key>executeSqlButtonService</key>
<value>
<complex>
<entry>
<key>jndiName</key>
<value>
<simple>"java:/webbpm/personRegistryDS"</simple>
</value>
</entry>
<entry>
<key>sql</key>
<value>
<simple>"select \u0027{\u0027||string_agg(\u0027\"\u0027||id::text||\u0027\"\u0027,\u0027,\u0027)||\u0027}\u0027\nfrom recruits\nwhere system_id_ern \u003d any(string_to_array(trim(trailing \u0027,\u0027 from replace(replace(replace (?, \u0027\\n\u0027, E\u0027\\n\u0027),chr(13),\u0027\u0027),chr(10),\u0027,\u0027)),\u0027,\u0027))"</simple>
</value>
</entry>
</complex>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="fc0a9292-6c2a-4d35-92be-bff120abb130">
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
<componentRootId>fc0a9292-6c2a-4d35-92be-bff120abb130</componentRootId>
<name>AC_get_id</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
<properties>
<entry>
<key>eventRefs</key>
<value>
<item id="e80c3e9e-95f1-47f7-86be-67b50d4f6dae" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"01dd02ec-9ea9-4828-864e-e943d30c3de2","packageName":"component.button","className":"ExecuteSqlButton","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"clickEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
<entry>
<key>ifCondition</key>
<value>
<complex>
<entry>
<key>logicalOperation</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>thenActions</key>
<value>
<item id="8b7cef9f-a1b2-4351-b4ac-d53a48c5bf7a" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"f38593fe-f55f-4fa9-b438-59ab39b03035","packageName":"component.field","className":"TextArea","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setValue"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>objectValue</key>
<value>
<complex>
<entry>
<key>argument</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"01dd02ec-9ea9-4828-864e-e943d30c3de2","packageName":"component.button","className":"ExecuteSqlButton","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"getResult"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="1d4318f0-58d9-419e-a123-af05c5e67039" removed="true"/>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="f38593fe-f55f-4fa9-b438-59ab39b03035">
<prototypeId>69af9ec9-d640-499a-bf05-cda6ce64a81f</prototypeId>
<componentRootId>f38593fe-f55f-4fa9-b438-59ab39b03035</componentRootId>
<name>ИД ЕРВУ разлокируемых граждан_unlock</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
<entry>
<key>cssClasses</key>
<value>
<item id="8f95a21b-37af-45a7-a16e-e3d3a10b0e34" removed="false">
<value>
<simple>"width-full"</simple>
</value>
</item>
</value>
</entry>
<entry>
<key>errorTooltipStyle</key>
<value>
<complex>
<entry>
<key>height</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
<expanded>false</expanded>
</value>
</entry>
<entry>
<key>label</key>
<value>
<simple>"ИД ЕРВУ разлокируемых граждан"</simple>
</value>
</entry>
<entry>
<key>style</key>
<value>
<complex>
<entry>
<key>height</key>
<value>
<simple>"200px"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</properties>
</scripts>
<scripts id="9bfea9aa-6af4-4d1d-8238-b6c4cd3af9b5"/>
<scripts id="5354f590-7a64-4764-93a7-3c329f176f3c"/>
<scripts id="84fc6134-ac89-4b20-9334-556dd2648a99"/>
<scripts id="22428620-8f37-4f73-bace-47bc22c13617">
<enabled>false</enabled>
</scripts>
<scripts id="f4991b76-96a9-4743-9ce5-6959f1bae7d6">
<classRef type="TS">
<className>SaveValueToVariable</className>
<packageName>modules.bpmn.script</packageName>
</classRef>
<enabled>true</enabled>
<expanded>true</expanded>
<properties>
<entry>
<key>variable</key>
<value>
<simple>"lock_ids_string"</simple>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="a18f6614-fec4-4567-926d-984d38ac4db4">
<prototypeId>133ca212-09a6-413a-ac66-e2f6ce188f1f</prototypeId>
<componentRootId>a18f6614-fec4-4567-926d-984d38ac4db4</componentRootId>
@ -1590,7 +1857,7 @@
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"8c85fe31-bdb8-495e-8c4c-7addc9d7ba71","packageName":"component.field","className":"TextArea","type":"TS"}</simple>
<simple>{"objectId":"f38593fe-f55f-4fa9-b438-59ab39b03035","packageName":"component.field","className":"TextArea","type":"TS"}</simple>
</value>
</entry>
<entry>
@ -1614,10 +1881,6 @@
<entry>
<key>executeSqlButtonService</key>
<value>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
<complex>
<entry>
<key>jndiName</key>
@ -1632,6 +1895,10 @@
</value>
</entry>
</complex>
<implRef type="JAVA">
<className>ReadOnlySqlButtonServiceImpl</className>
<packageName>ru.micord.ervu_secret.component.service</packageName>
</implRef>
</value>
</entry>
</properties>
@ -1649,6 +1916,7 @@
<componentRootId>286a4879-4c69-4352-a830-e7aa2fffd434</componentRootId>
<name>Hbox</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0">
@ -1684,7 +1952,7 @@
<entry>
<key>ervuIdField</key>
<value>
<simple>{"objectId":"8c85fe31-bdb8-495e-8c4c-7addc9d7ba71","packageName":"component.field","className":"TextArea","type":"TS"}</simple>
<simple>{"objectId":"f38593fe-f55f-4fa9-b438-59ab39b03035","packageName":"component.field","className":"TextArea","type":"TS"}</simple>
</value>
</entry>
<entry>