Commit 431a9682 authored by Valentin Suhnjov's avatar Valentin Suhnjov

Merge branch 'releases/release-0.13.0' into ria/master

parents b74fa364 55f0e513
......@@ -5,7 +5,7 @@
<groupId>ee.eesti.riha</groupId>
<artifactId>rest</artifactId>
<version>0.12.0</version>
<version>0.13.0</version>
<packaging>war</packaging>
......
DROP VIEW IF EXISTS riha.main_resource_view CASCADE;
CREATE OR REPLACE VIEW riha.main_resource_view AS
SELECT DISTINCT ON (json_content ->> 'uuid')
main_resource.*,
......@@ -7,7 +8,10 @@ CREATE OR REPLACE VIEW riha.main_resource_view AS
((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_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
FROM riha.main_resource AS main_resource
LEFT JOIN (SELECT DISTINCT ON (infosystem_uuid)
infosystem_uuid,
......@@ -23,6 +27,39 @@ CREATE OR REPLACE VIEW riha.main_resource_view AS
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
ORDER BY json_content ->> 'uuid',
j_update_timestamp DESC NULLS LAST,
main_resource_id DESC;
......
-- Drop main_resource_view and views that depend on it
DROP VIEW IF EXISTS riha.main_resource_view CASCADE;
-- Create main_resource_view with last positive coordination statuses data columns
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
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
ORDER BY json_content ->> 'uuid',
j_update_timestamp DESC NULLS LAST,
main_resource_id DESC;
-- Recreate views
DROP VIEW IF EXISTS riha.main_resource_relation_view;
CREATE OR REPLACE VIEW riha.main_resource_relation_view AS
SELECT
mrr.*,
infosystem.json_content ->> 'short_name' AS infosystem_short_name,
infosystem.json_content ->> 'name' AS infosystem_name,
related_infosystem.json_content ->> 'short_name' AS related_infosystem_short_name,
related_infosystem.json_content ->> 'name' AS related_infosystem_name
FROM riha.main_resource_relation mrr
LEFT JOIN riha.main_resource_view infosystem ON (infosystem.json_content ->> 'uuid') = mrr.infosystem_uuid :: TEXT
LEFT JOIN riha.main_resource_view related_infosystem
ON (related_infosystem.json_content ->> 'uuid') = mrr.related_infosystem_uuid :: TEXT;
DROP VIEW IF EXISTS riha.comment_type_issue_view;
CREATE OR REPLACE VIEW riha.comment_type_issue_view AS
SELECT
issue.*,
infosystem.json_content ->> 'short_name' AS infosystem_short_name
FROM riha.comment issue
INNER JOIN riha.main_resource_view infosystem
ON (infosystem.json_content ->> 'uuid') = issue.infosystem_uuid :: TEXT
WHERE issue.type = 'ISSUE'
ORDER BY issue.comment_id;
\ No newline at end of file
......@@ -60,6 +60,10 @@ public class Main_resource_view implements BaseModel {
@Column(name = "j_creation_timestamp")
private Date j_creation_timestamp;
@JsonIgnore
@Column(name = "j_update_timestamp")
private Date j_update_timestamp;
@Column(name = "last_positive_approval_request_type")
private String last_positive_approval_request_type;
......@@ -67,6 +71,18 @@ public class Main_resource_view implements BaseModel {
@Temporal(TemporalType.TIMESTAMP)
private Date last_positive_approval_request_date;
@Column(name = "last_positive_establishment_request_date")
@Temporal(TemporalType.TIMESTAMP)
private Date last_positive_establishment_request_date;
@Column(name = "last_positive_take_into_use_request_date")
@Temporal(TemporalType.TIMESTAMP)
private Date last_positive_take_into_use_request_date;
@Column(name = "last_positive_finalization_request_date")
@Temporal(TemporalType.TIMESTAMP)
private Date last_positive_finalization_request_date;
public Integer getMain_resource_id() {
return main_resource_id;
}
......@@ -166,4 +182,28 @@ public class Main_resource_view implements BaseModel {
public void setLast_positive_approval_request_date(Date last_positive_approval_request_date) {
this.last_positive_approval_request_date = last_positive_approval_request_date;
}
public Date getLast_positive_establishment_request_date() {
return last_positive_establishment_request_date;
}
public void setLast_positive_establishment_request_date(Date last_positive_establishment_request_date) {
this.last_positive_establishment_request_date = last_positive_establishment_request_date;
}
public Date getLast_positive_take_into_use_request_date() {
return last_positive_take_into_use_request_date;
}
public void setLast_positive_take_into_use_request_date(Date last_positive_take_into_use_request_date) {
this.last_positive_take_into_use_request_date = last_positive_take_into_use_request_date;
}
public Date getLast_positive_finalization_request_date() {
return last_positive_finalization_request_date;
}
public void setLast_positive_finalization_request_date(Date last_positive_finalization_request_date) {
this.last_positive_finalization_request_date = last_positive_finalization_request_date;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment