From d1c0b3b01851dfd84c0bb921e2aab3c5b9fe0c36 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 14:52:13 +0300 Subject: [PATCH] changeSet --- .../config/v_1.0/20250505-db_changes.xml | 54 +++++++++++++++++++ .../resources/config/v_1.0/changelog-1.0.xml | 1 + 2 files changed, 55 insertions(+) create mode 100644 backend/src/main/resources/config/v_1.0/20250505-db_changes.xml diff --git a/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml new file mode 100644 index 0000000..b032ab3 --- /dev/null +++ b/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml @@ -0,0 +1,54 @@ + + + + + + + ALTER TABLE + + ALTER TABLE IF EXISTS admin_indicators.user_analysis + ADD COLUMN count_responsible_zi bigint NOT NULL DEFAULT 0; + COMMENT ON COLUMN admin_indicators.user_analysis.count_responsible_zi + IS 'Ответственный за ЗИ'; + + + ALTER TABLE IF EXISTS admin_indicators.user_analysis + ADD COLUMN count_responsible_zi_svk bigint NOT NULL DEFAULT 0; + COMMENT ON COLUMN admin_indicators.user_analysis.count_responsible_zi_svk + IS 'Ответственный за ЗИ СВК'; + + + + + CREATE VIEW + + DROP VIEW admin_indicators.view_user_analysis; + + CREATE OR REPLACE VIEW admin_indicators.view_user_analysis + AS + SELECT user_analysis.user_analysis_id, + user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition AS count_all, + COALESCE(round(user_analysis.count_administrator_is::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_administrator_is, + COALESCE(round(user_analysis.count_administrator_poib::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_administrator_poib, + COALESCE(round(user_analysis.count_employee_gomy::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_employee_gomy, + COALESCE(round(user_analysis.count_observer_gomy::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_bserver_gomy, + COALESCE(round(user_analysis.count_supervisor_gomy::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_supervisor_gomy, + COALESCE(round(user_analysis.count_military_commissar::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_military_commissar, + COALESCE(round(user_analysis.count_specialist_statements::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_specialist_statements, + COALESCE(round(user_analysis.count_observer_vo::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_observer_vo, + COALESCE(round(user_analysis.count_observer_vk::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_observer_vk, + COALESCE(round(user_analysis.count_responsible_zi::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_responsible_zi, + COALESCE(round(user_analysis.count_specialist_military_accounting::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_specialist_military_accounting, + COALESCE(round(user_analysis.count_specialist_acquisition::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_specialist_acquisition, + COALESCE(round(user_analysis.count_responsible_zi_svk::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_responsible_zi_svk + FROM admin_indicators.user_analysis; + + ALTER TABLE admin_indicators.view_user_analysis + OWNER TO ervu_business_metrics; + + + \ No newline at end of file diff --git a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml index e2fd638..c648254 100644 --- a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml +++ b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml @@ -29,6 +29,7 @@ + \ No newline at end of file