Skip to content

Commit

Permalink
Merge pull request #13 from e-gov/feature/RIHAKB-656
Browse files Browse the repository at this point in the history
Feature/rihakb 656
  • Loading branch information
KristjanKruusRIA authored Jan 31, 2019
2 parents 68a1f9a + f803371 commit 85b432b
Show file tree
Hide file tree
Showing 6 changed files with 178 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
-- drop view riha.main_resource_view cascade

CREATE OR REPLACE VIEW riha.main_resource_view AS

SELECT DISTINCT ON (json_content ->> 'uuid')
main_resource.*,
((main_resource.json_content #>>
'{meta,creation_timestamp}' :: TEXT [])) :: TIMESTAMP WITH TIME ZONE AS j_creation_timestamp,
((main_resource.json_content #>>
'{meta,update_timestamp}' :: TEXT [])) :: TIMESTAMP WITH TIME ZONE AS j_update_timestamp,
last_positive_approval_request.sub_type AS last_positive_approval_request_type,
last_positive_approval_request.modified_date AS last_positive_approval_request_date,
last_positive_establishment_request.modified_date AS last_positive_establishment_request_date,
last_positive_take_into_use_request.modified_date AS last_positive_take_into_use_request_date,
last_positive_finalization_request.modified_date AS last_positive_finalization_request_date
,COALESCE (has_used_system_types_relations.has_used_system_type_relations, false) AS has_used_system_type_relations
FROM riha.main_resource AS main_resource
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
sub_type,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type IN ('ESTABLISHMENT_REQUEST',
'TAKE_INTO_USE_REQUEST',
'FINALIZATION_REQUEST')
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_approval_request
ON (json_content ->> 'uuid') :: UUID = last_positive_approval_request.infosystem_uuid
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type = 'ESTABLISHMENT_REQUEST'
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_establishment_request
ON (json_content ->> 'uuid') :: UUID = last_positive_establishment_request.infosystem_uuid
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type = 'TAKE_INTO_USE_REQUEST'
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_take_into_use_request
ON (json_content ->> 'uuid') :: UUID = last_positive_take_into_use_request.infosystem_uuid
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type = 'FINALIZATION_REQUEST'
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_finalization_request
ON (json_content ->> 'uuid') :: UUID = last_positive_finalization_request.infosystem_uuid

LEFT JOIN
(select count(*) > 0 as has_used_system_type_relations, infosystem_uuid from riha.main_resource_relation mrr where mrr.type ='USED_SYSTEM' group by infosystem_uuid)
as has_used_system_types_relations
ON (json_content ->> 'uuid') :: UUID = has_used_system_types_relations.infosystem_uuid

ORDER BY json_content ->> 'uuid',
j_update_timestamp DESC NULLS LAST,
main_resource_id DESC

Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ public class Main_resource_view implements BaseModel {
@Temporal(TemporalType.TIMESTAMP)
private Date last_positive_finalization_request_date;

@Column(name = "has_used_system_type_relations")
private boolean hasUsedSystemTypeRelations;

public Integer getMain_resource_id() {
return main_resource_id;
}
Expand Down Expand Up @@ -167,6 +170,14 @@ public void setKind(String kind) {
throw new UnsupportedOperationException();
}

public boolean isHasUsedSystemTypeRelations() {
return hasUsedSystemTypeRelations;
}

public void setHasUsedSystemTypeRelations(boolean hasUsedSystemTypeRelations) {
this.hasUsedSystemTypeRelations = hasUsedSystemTypeRelations;
}

public String getLast_positive_approval_request_type() {
return last_positive_approval_request_type;
}
Expand Down
9 changes: 9 additions & 0 deletions src/main/resources/liquibase/db.changelog.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,13 @@
/>
</changeSet>

<changeSet id="RIHAKB-656" author="aleksandr">
<sqlFile dbms="postgresql"
encoding="utf8"
path="./update/20190124_add_used_type_relations_info_to_main_resource_view.sql"
relativeToChangelogFile="true"
splitStatements="false"
/>
</changeSet>

</databaseChangeLog>
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
-- drop view riha.main_resource_view cascade

CREATE OR REPLACE VIEW riha.main_resource_view AS

SELECT DISTINCT ON (json_content ->> 'uuid')
main_resource.*,
((main_resource.json_content #>>
'{meta,creation_timestamp}' :: TEXT [])) :: TIMESTAMP WITH TIME ZONE AS j_creation_timestamp,
((main_resource.json_content #>>
'{meta,update_timestamp}' :: TEXT [])) :: TIMESTAMP WITH TIME ZONE AS j_update_timestamp,
last_positive_approval_request.sub_type AS last_positive_approval_request_type,
last_positive_approval_request.modified_date AS last_positive_approval_request_date,
last_positive_establishment_request.modified_date AS last_positive_establishment_request_date,
last_positive_take_into_use_request.modified_date AS last_positive_take_into_use_request_date,
last_positive_finalization_request.modified_date AS last_positive_finalization_request_date
,COALESCE (has_used_system_types_relations.has_used_system_type_relations, false) AS has_used_system_type_relations
FROM riha.main_resource AS main_resource
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
sub_type,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type IN ('ESTABLISHMENT_REQUEST',
'TAKE_INTO_USE_REQUEST',
'FINALIZATION_REQUEST')
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_approval_request
ON (json_content ->> 'uuid') :: UUID = last_positive_approval_request.infosystem_uuid
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type = 'ESTABLISHMENT_REQUEST'
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_establishment_request
ON (json_content ->> 'uuid') :: UUID = last_positive_establishment_request.infosystem_uuid
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type = 'TAKE_INTO_USE_REQUEST'
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_take_into_use_request
ON (json_content ->> 'uuid') :: UUID = last_positive_take_into_use_request.infosystem_uuid
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
modified_date
FROM riha.comment
WHERE
type = 'ISSUE'
AND sub_type = 'FINALIZATION_REQUEST'
AND status = 'CLOSED'
AND resolution_type = 'POSITIVE'
ORDER BY infosystem_uuid, modified_date DESC) AS last_positive_finalization_request
ON (json_content ->> 'uuid') :: UUID = last_positive_finalization_request.infosystem_uuid

LEFT JOIN
(select count(*) > 0 as has_used_system_type_relations, infosystem_uuid from riha.main_resource_relation mrr where mrr.type ='USED_SYSTEM' group by infosystem_uuid)
as has_used_system_types_relations
ON (json_content ->> 'uuid') :: UUID = has_used_system_types_relations.infosystem_uuid

ORDER BY json_content ->> 'uuid',
j_update_timestamp DESC NULLS LAST,
main_resource_id DESC

9 changes: 9 additions & 0 deletions src/test/resources/liquibase/db.changelog.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,13 @@
relativeToChangelogFile="true"/>
</changeSet>

<changeSet id="RIHAKB-656" author="aleksandr">
<sqlFile dbms="postgresql"
encoding="utf8"
path="./update/20190124_add_used_type_relations_info_to_main_resource_view.sql"
relativeToChangelogFile="true"
splitStatements="false"
/>
</changeSet>

</databaseChangeLog>
2 changes: 1 addition & 1 deletion src/test/resources/riharest.project.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
riharest.jdbc.url=jdbc:postgresql://localhost:5438/riha?currentSchema=riha
riharest.jdbc.url=jdbc:postgresql://127.0.0.1:5438/riha?currentSchema=riha
riharest.jdbc.user=riha
riharest.jdbc.password=riha

Expand Down

0 comments on commit 85b432b

Please sign in to comment.