From 3916e4cde7709fa1cd862d6d49f2d21a53ceb977 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Mon, 24 Dec 2018 16:08:15 +0100 Subject: [PATCH] Fixes #152 --- Admin/Install/db.json | 543 ++++++++++++++++++++++++++++++++++++++++++ Admin/Installer.php | 252 +------------------- Models/Risk.php | 3 + Models/RiskMapper.php | 1 + 4 files changed, 548 insertions(+), 251 deletions(-) create mode 100644 Admin/Install/db.json diff --git a/Admin/Install/db.json b/Admin/Install/db.json new file mode 100644 index 0000000..05af1ff --- /dev/null +++ b/Admin/Install/db.json @@ -0,0 +1,543 @@ +{ + "riskmngmt_category": { + "name": "riskmngmt_category", + "fields": { + "riskmngmt_category_id": { + "name": "riskmngmt_category_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_category_name": { + "name": "riskmngmt_category_name", + "type": "VARCHAR(255)", + "null": false + }, + "riskmngmt_category_description": { + "name": "riskmngmt_category_description", + "type": "TEXT", + "null": false + }, + "riskmngmt_category_descriptionraw": { + "name": "riskmngmt_category_descriptionraw", + "type": "TEXT", + "null": false + }, + "riskmngmt_category_parent": { + "name": "riskmngmt_category_parent", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_category", + "foreignKey": "riskmngmt_category_id" + }, + "riskmngmt_category_responsible": { + "name": "riskmngmt_category_responsible", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_category_deputy": { + "name": "riskmngmt_category_deputy", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + } + } + }, + "riskmngmt_process": { + "name": "riskmngmt_process", + "fields": { + "riskmngmt_process_id": { + "name": "riskmngmt_process_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_process_name": { + "name": "riskmngmt_process_name", + "type": "VARCHAR(255)", + "null": false + }, + "riskmngmt_process_description": { + "name": "riskmngmt_process_description", + "type": "TEXT", + "null": false + }, + "riskmngmt_process_descriptionraw": { + "name": "riskmngmt_process_descriptionraw", + "type": "TEXT", + "null": false + }, + "riskmngmt_process_department": { + "name": "riskmngmt_process_department", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "organization_department", + "foreignKey": "organization_department_id" + } + , + "riskmngmt_process_unit": { + "name": "riskmngmt_process_unit", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "organization_unit", + "foreignKey": "organization_unit_id" + }, + "riskmngmt_process_responsible": { + "name": "riskmngmt_process_responsible", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_process_deputy": { + "name": "riskmngmt_process_deputy", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + } + } + }, + "riskmngmt_project": { + "name": "riskmngmt_project", + "fields": { + "riskmngmt_project_id": { + "name": "riskmngmt_project_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_project_project": { + "name": "riskmngmt_project_project", + "type": "INT", + "null": false, + "foreignTable": "projectmanagement_project", + "foreignKey": "projectmanagement_project_id" + }, + "riskmngmt_project_responsible": { + "name": "riskmngmt_project_responsible", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_project_deputy": { + "name": "riskmngmt_project_deputy", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + } + } + }, + "riskmngmt_department": { + "name": "riskmngmt_department", + "fields": { + "riskmngmt_department_id": { + "name": "riskmngmt_department_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_department_department": { + "name": "riskmngmt_department_department", + "type": "INT", + "null": false, + "foreignTable": "organization_department", + "foreignKey": "organization_department_id" + }, + "riskmngmt_department_responsible": { + "name": "riskmngmt_department_responsible", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_department_deputy": { + "name": "riskmngmt_department_deputy", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + } + } + }, + "riskmngmt_unit": { + "name": "riskmngmt_unit", + "fields": { + "riskmngmt_unit_id": { + "name": "riskmngmt_unit_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_unit_unit": { + "name": "riskmngmt_unit_unit", + "type": "INT", + "null": false, + "foreignTable": "organization_unit", + "foreignKey": "organization_unit_id" + }, + "riskmngmt_unit_responsible": { + "name": "riskmngmt_unit_responsible", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_unit_deputy": { + "name": "riskmngmt_unit_deputy", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + } + } + }, + "riskmngmt_risk": { + "name": "riskmngmt_risk", + "fields": { + "riskmngmt_risk_id": { + "name": "riskmngmt_risk_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_risk_name": { + "name": "riskmngmt_risk_name", + "type": "VARCHAR(255)", + "null": false + }, + "riskmngmt_risk_description": { + "name": "riskmngmt_risk_description", + "type": "TEXT", + "null": false + }, + "riskmngmt_risk_descriptionraw": { + "name": "riskmngmt_risk_descriptionraw", + "type": "TEXT", + "null": false + }, + "riskmngmt_risk_unit": { + "name": "riskmngmt_risk_unit", + "type": "INT", + "null": false, + "foreignTable": "organization_unit", + "foreignKey": "organization_unit_id" + }, + "riskmngmt_risk_department": { + "name": "riskmngmt_risk_department", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "organization_department", + "foreignKey": "organization_department_id" + }, + "riskmngmt_risk_category": { + "name": "riskmngmt_risk_category", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_category", + "foreignKey": "riskmngmt_category_id" + }, + "riskmngmt_risk_project": { + "name": "riskmngmt_risk_project", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "projectmanagement_project", + "foreignKey": "projectmanagement_project_id" + }, + "riskmngmt_risk_process": { + "name": "riskmngmt_risk_process", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_process", + "foreignKey": "riskmngmt_process_id" + }, + "riskmngmt_risk_responsible": { + "name": "riskmngmt_risk_responsible", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_risk_deputy": { + "name": "riskmngmt_risk_deputy", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "account", + "foreignKey": "account_id" + }, + "riskmngmt_risk_created_at": { + "name": "riskmngmt_risk_created_at", + "type": "DATETIME", + "null": false + } + } + }, + "riskmngmt_risk_object": { + "name": "riskmngmt_risk_object", + "fields": { + "riskmngmt_risk_object_id": { + "name": "riskmngmt_risk_object_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_risk_object_name": { + "name": "riskmngmt_risk_object_name", + "type": "VARCHAR(255)", + "null": false + }, + "riskmngmt_risk_object_description": { + "name": "riskmngmt_risk_object_description", + "type": "TEXT", + "null": false + }, + "riskmngmt_risk_object_descriptionraw": { + "name": "riskmngmt_risk_object_descriptionraw", + "type": "TEXT", + "null": false + }, + "riskmngmt_risk_object_risk": { + "name": "riskmngmt_risk_object_risk", + "type": "INT", + "null": false, + "foreignTable": "riskmngmt_risk", + "foreignKey": "riskmngmt_risk_id" + } + } + }, + "riskmngmt_risk_eval": { + "name": "riskmngmt_risk_eval", + "fields": { + "riskmngmt_risk_eval_id": { + "name": "riskmngmt_risk_eval_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_risk_eval_gross_probability": { + "name": "riskmngmt_risk_eval_gross_probability", + "type": "INT", + "null": false + }, + "riskmngmt_risk_eval_gross_risk": { + "name": "riskmngmt_risk_eval_gross_risk", + "type": "INT", + "null": false + }, + "riskmngmt_risk_eval_gross_score": { + "name": "riskmngmt_risk_eval_gross_score", + "type": "INT", + "null": false + }, + "riskmngmt_risk_eval_net_probability": { + "name": "riskmngmt_risk_eval_net_probability", + "type": "INT", + "null": false + }, + "riskmngmt_risk_eval_net_risk": { + "name": "riskmngmt_risk_eval_net_risk", + "type": "INT", + "null": false + }, + "riskmngmt_risk_eval_net_score": { + "name": "riskmngmt_risk_eval_net_score", + "type": "INT", + "null": false + }, + "riskmngmt_risk_eval_risk": { + "name": "riskmngmt_risk_eval_risk", + "type": "INT", + "null": false, + "foreignTable": "riskmngmt_risk", + "foreignKey": "riskmngmt_risk_id" + }, + "riskmngmt_risk_eval_date": { + "name": "riskmngmt_risk_eval_date", + "type": "DATETIME", + "null": false + } + } + }, + "riskmngmt_risk_media": { + "name": "riskmngmt_risk_media", + "fields": { + "riskmngmt_risk_media_id": { + "name": "riskmngmt_risk_media_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_risk_media_risk": { + "name": "riskmngmt_risk_media_risk", + "type": "INT", + "null": false, + "foreignTable": "riskmngmt_risk", + "foreignKey": "riskmngmt_risk_id" + }, + "riskmngmt_risk_media_media": { + "name": "riskmngmt_risk_media_media", + "type": "INT", + "null": false, + "foreignTable": "media", + "foreignKey": "media_id" + } + } + }, + "riskmngmt_cause": { + "name": "riskmngmt_cause", + "fields": { + "riskmngmt_cause_id": { + "name": "riskmngmt_cause_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_cause_name": { + "name": "riskmngmt_cause_name", + "type": "VARCHAR(255)", + "null": false + }, + "riskmngmt_cause_description": { + "name": "riskmngmt_cause_description", + "type": "TEXT", + "null": false + }, + "riskmngmt_cause_descriptionraw": { + "name": "riskmngmt_cause_descriptionraw", + "type": "TEXT", + "null": false + }, + "riskmngmt_cause_probability": { + "name": "riskmngmt_cause_probability", + "type": "INT", + "null": false + }, + "riskmngmt_cause_department": { + "name": "riskmngmt_cause_department", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_department", + "foreignKey": "riskmngmt_department_id" + }, + "riskmngmt_cause_category": { + "name": "riskmngmt_cause_category", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_category", + "foreignKey": "riskmngmt_category_id" + }, + "riskmngmt_cause_project": { + "name": "riskmngmt_cause_project", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_project", + "foreignKey": "riskmngmt_project_id" + }, + "riskmngmt_cause_process": { + "name": "riskmngmt_cause_process", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_process", + "foreignKey": "riskmngmt_process_id" + }, + "riskmngmt_cause_risk": { + "name": "riskmngmt_cause_risk", + "type": "INT", + "null": false, + "foreignTable": "riskmngmt_risk", + "foreignKey": "riskmngmt_risk_id" + } + } + }, + "riskmngmt_solution": { + "name": "riskmngmt_solution", + "fields": { + "riskmngmt_solution_id": { + "name": "riskmngmt_solution_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "riskmngmt_solution_name": { + "name": "riskmngmt_solution_name", + "type": "VARCHAR(255)", + "null": false + }, + "riskmngmt_solution_description": { + "name": "riskmngmt_solution_description", + "type": "TEXT", + "null": false + }, + "riskmngmt_solution_descriptionraw": { + "name": "riskmngmt_solution_descriptionraw", + "type": "TEXT", + "null": false + }, + "riskmngmt_solution_probability": { + "name": "riskmngmt_solution_probability", + "type": "INT", + "null": false + }, + "riskmngmt_solution_effect": { + "name": "riskmngmt_solution_effect", + "type": "INT", + "default": null, + "null": true + }, + "riskmngmt_solution_cause": { + "name": "riskmngmt_solution_cause", + "type": "INT", + "default": null, + "null": true, + "foreignTable": "riskmngmt_cause", + "foreignKey": "riskmngmt_cause_id" + }, + "riskmngmt_solution_risk": { + "name": "riskmngmt_solution_risk", + "type": "INT", + "null": false, + "foreignTable": "riskmngmt_risk", + "foreignKey": "riskmngmt_risk_id" + } + } + } +} \ No newline at end of file diff --git a/Admin/Installer.php b/Admin/Installer.php index df9caef..d1c0db4 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -14,13 +14,10 @@ declare(strict_types=1); namespace Modules\RiskManagement\Admin; -use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\DataStorage\Database\DatabaseType; -use phpOMS\Module\InfoManager; use phpOMS\Module\InstallerAbstract; /** - * Risk Management install class. + * Installer class. * * @package Modules\RiskManagement\Admin * @license OMS License 1.0 @@ -29,251 +26,4 @@ use phpOMS\Module\InstallerAbstract; */ class Installer extends InstallerAbstract { - - /** - * {@inheritdoc} - */ - public static function install(DatabasePool $dbPool, InfoManager $info) : void - { - parent::install($dbPool, $info); - - switch ($dbPool->get()->getType()) { - case DatabaseType::MYSQL: - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_category` ( - `riskmngmt_category_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_category_name` varchar(50) NOT NULL, - `riskmngmt_category_description` text NOT NULL, - `riskmngmt_category_descriptionraw` text NOT NULL, - `riskmngmt_category_parent` int(11) DEFAULT NULL, - `riskmngmt_category_responsible` int(11) DEFAULT NULL, - `riskmngmt_category_deputy` int(11) DEFAULT NULL, - PRIMARY KEY (`riskmngmt_category_id`), - KEY `riskmngmt_category_parent` (`riskmngmt_category_parent`), - KEY `riskmngmt_category_responsible` (`riskmngmt_category_responsible`), - KEY `riskmngmt_category_deputy` (`riskmngmt_category_deputy`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_category` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_category_ibfk_1` FOREIGN KEY (`riskmngmt_category_parent`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_category` (`riskmngmt_category_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_category_ibfk_2` FOREIGN KEY (`riskmngmt_category_responsible`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_category_ibfk_3` FOREIGN KEY (`riskmngmt_category_deputy`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`);' - )->execute(); - - // TODO: more (media, start, end etc...) - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_process` ( - `riskmngmt_process_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_process_name` text NOT NULL, - `riskmngmt_process_description` text NOT NULL, - `riskmngmt_process_descriptionraw` text NOT NULL, - `riskmngmt_process_department` int(11) DEFAULT NULL, - `riskmngmt_process_unit` int(11) NOT NULL, - `riskmngmt_process_responsible` int(11) DEFAULT NULL, - `riskmngmt_process_deputy` int(11) DEFAULT NULL, - PRIMARY KEY (`riskmngmt_process_id`), - KEY `riskmngmt_process_unit` (`riskmngmt_process_unit`), - KEY `riskmngmt_process_department` (`riskmngmt_process_department`), - KEY `riskmngmt_process_responsible` (`riskmngmt_process_responsible`), - KEY `riskmngmt_process_deputy` (`riskmngmt_process_deputy`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_process` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_process_ibfk_1` FOREIGN KEY (`riskmngmt_process_unit`) REFERENCES `' . $dbPool->get()->prefix . 'organization_unit` (`organization_unit_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_process_ibfk_2` FOREIGN KEY (`riskmngmt_process_department`) REFERENCES `' . $dbPool->get()->prefix . 'organization_department` (`organization_department_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_process_ibfk_3` FOREIGN KEY (`riskmngmt_process_responsible`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_process_ibfk_4` FOREIGN KEY (`riskmngmt_process_deputy`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`);' - )->execute(); - - // todo: only install if projectmanagement exists - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_project` ( - `riskmngmt_project_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_project_project` int(11) NOT NULL, - `riskmngmt_project_responsible` int(11) DEFAULT NULL, - `riskmngmt_project_deputy` int(11) DEFAULT NULL, - PRIMARY KEY (`riskmngmt_project_id`), - KEY `riskmngmt_project_project` (`riskmngmt_project_project`), - KEY `riskmngmt_project_responsible` (`riskmngmt_project_responsible`), - KEY `riskmngmt_project_deputy` (`riskmngmt_project_deputy`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_project` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_project_ibfk_1` FOREIGN KEY (`riskmngmt_project_project`) REFERENCES `' . $dbPool->get()->prefix . 'projectmanagement_project` (`projectmanagement_project_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_project_ibfk_2` FOREIGN KEY (`riskmngmt_project_responsible`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_project_ibfk_3` FOREIGN KEY (`riskmngmt_project_deputy`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_department` ( - `riskmngmt_department_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_department_department` int(11) NOT NULL, - `riskmngmt_department_responsible` int(11) DEFAULT NULL, - `riskmngmt_department_deputy` int(11) DEFAULT NULL, - PRIMARY KEY (`riskmngmt_department_id`), - KEY `riskmngmt_department_department` (`riskmngmt_department_department`), - KEY `riskmngmt_department_responsible` (`riskmngmt_department_responsible`), - KEY `riskmngmt_department_deputy` (`riskmngmt_department_deputy`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_department` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_department_ibfk_1` FOREIGN KEY (`riskmngmt_department_department`) REFERENCES `' . $dbPool->get()->prefix . 'organization_department` (`organization_department_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_department_ibfk_2` FOREIGN KEY (`riskmngmt_department_responsible`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_department_ibfk_3` FOREIGN KEY (`riskmngmt_department_deputy`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_risk` ( - `riskmngmt_risk_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_risk_name` varchar(255) NOT NULL, - `riskmngmt_risk_description` text NOT NULL, - `riskmngmt_risk_descriptionraw` text NOT NULL, - `riskmngmt_risk_unit` int(11) NOT NULL, - `riskmngmt_risk_department` int(11) DEFAULT NULL, - `riskmngmt_risk_category` int(11) DEFAULT NULL, - `riskmngmt_risk_project` int(11) DEFAULT NULL, - `riskmngmt_risk_process` int(11) DEFAULT NULL, - `riskmngmt_risk_responsible` int(11) DEFAULT NULL, - `riskmngmt_risk_deputy` int(11) DEFAULT NULL, - `riskmngmt_risk_created_at` datetime DEFAULT NULL, - PRIMARY KEY (`riskmngmt_risk_id`), - KEY `riskmngmt_risk_unit` (`riskmngmt_risk_unit`), - KEY `riskmngmt_risk_responsible` (`riskmngmt_risk_responsible`), - KEY `riskmngmt_risk_deputy` (`riskmngmt_risk_deputy`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_risk` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_ibfk_1` FOREIGN KEY (`riskmngmt_risk_unit`) REFERENCES `' . $dbPool->get()->prefix . 'organization_unit` (`organization_unit_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_ibfk_2` FOREIGN KEY (`riskmngmt_risk_responsible`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_ibfk_3` FOREIGN KEY (`riskmngmt_risk_deputy`) REFERENCES `' . $dbPool->get()->prefix . 'account` (`account_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_risk_eval` ( - `riskmngmt_risk_eval_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_risk_eval_gross_probability` int(11) NOT NULL, - `riskmngmt_risk_eval_gross_risk` int(11) NOT NULL, - `riskmngmt_risk_eval_gross_score` int(11) NOT NULL, - `riskmngmt_risk_eval_net_probability` int(11) NOT NULL, - `riskmngmt_risk_eval_net_risk` int(11) NOT NULL, - `riskmngmt_risk_eval_net_score` int(11) NOT NULL, - `riskmngmt_risk_eval_risk` int(11) NOT NULL, - `riskmngmt_risk_eval_date` datetime NOT NULL, - PRIMARY KEY (`riskmngmt_risk_eval_id`), - KEY `riskmngmt_risk_eval_risk` (`riskmngmt_risk_eval_risk`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_risk_eval` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_eval_ibfk_1` FOREIGN KEY (`riskmngmt_risk_eval_risk`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_risk_object` ( - `riskmngmt_risk_object_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_risk_object_name` varchar(50) NOT NULL, - `riskmngmt_risk_object_description` text NOT NULL, - `riskmngmt_risk_object_descriptionraw` text NOT NULL, - `riskmngmt_risk_object_risk` int(11) NOT NULL, - PRIMARY KEY (`riskmngmt_risk_object_id`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_risk_object` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_object_ibfk_1` FOREIGN KEY (`riskmngmt_risk_object_risk`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_risk_object_eval` ( - `riskmngmt_risk_object_eval_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_risk_object_eval_val` decimal(11,4) NOT NULL, - `riskmngmt_risk_object_eval_object` int(11) NOT NULL, - `riskmngmt_risk_object_eval_date` datetime NOT NULL, - PRIMARY KEY (`riskmngmt_risk_object_eval_id`), - KEY `riskmngmt_risk_object_eval_object` (`riskmngmt_risk_object_eval_object`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_risk_object_eval` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_object_eval_ibfk_1` FOREIGN KEY (`riskmngmt_risk_object_eval_object`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_risk_object` (`riskmngmt_risk_object_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_risk_media` ( - `riskmngmt_risk_media_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_risk_media_risk` int(11) NOT NULL, - `riskmngmt_risk_media_media` int(11) NOT NULL, - PRIMARY KEY (`riskmngmt_risk_media_id`), - KEY `riskmngmt_risk_media_risk` (`riskmngmt_risk_media_risk`), - KEY `riskmngmt_risk_media_media` (`riskmngmt_risk_media_media`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_risk_media` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_media_ibfk_1` FOREIGN KEY (`riskmngmt_risk_media_risk`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_risk_media_ibfk_2` FOREIGN KEY (`riskmngmt_risk_media_media`) REFERENCES `' . $dbPool->get()->prefix . 'media` (`media_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_cause` ( - `riskmngmt_cause_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_cause_name` varchar(50) NOT NULL, - `riskmngmt_cause_description` text NOT NULL, - `riskmngmt_cause_descriptionraw` text NOT NULL, - `riskmngmt_cause_probability` smallint(6) NOT NULL, - `riskmngmt_cause_department` int(11) DEFAULT NULL, - `riskmngmt_cause_category` int(11) DEFAULT NULL, - `riskmngmt_cause_risk` int(11) DEFAULT NULL, - PRIMARY KEY (`riskmngmt_cause_id`), - KEY `riskmngmt_cause_department` (`riskmngmt_cause_department`), - KEY `riskmngmt_cause_category` (`riskmngmt_cause_category`), - KEY `riskmngmt_cause_risk` (`riskmngmt_cause_risk`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_cause` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_cause_ibfk_1` FOREIGN KEY (`riskmngmt_cause_risk`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_cause_ibfk_2` FOREIGN KEY (`riskmngmt_cause_category`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_category` (`riskmngmt_category_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_cause_ibfk_3` FOREIGN KEY (`riskmngmt_cause_department`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_department` (`riskmngmt_department_id`);' - )->execute(); - - $dbPool->get()->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get()->prefix . 'riskmngmt_solution` ( - `riskmngmt_solution_id` int(11) NOT NULL AUTO_INCREMENT, - `riskmngmt_solution_name` varchar(50) NOT NULL, - `riskmngmt_solution_description` text NOT NULL, - `riskmngmt_solution_descriptionraw` text NOT NULL, - `riskmngmt_solution_probability` smallint(6) NOT NULL, - `riskmngmt_solution_effect` decimal(11,4) DEFAULT NULL, - `riskmngmt_solution_cause` int(11) DEFAULT NULL, - `riskmngmt_solution_risk` int(11) DEFAULT NULL, - PRIMARY KEY (`riskmngmt_solution_id`), - KEY `riskmngmt_solution_cause` (`riskmngmt_solution_cause`), - KEY `riskmngmt_solution_risk` (`riskmngmt_solution_risk`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get()->con->prepare( - 'ALTER TABLE `' . $dbPool->get()->prefix . 'riskmngmt_solution` - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_solution_ibfk_1` FOREIGN KEY (`riskmngmt_solution_cause`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_cause` (`riskmngmt_cause_id`), - ADD CONSTRAINT `' . $dbPool->get()->prefix . 'riskmngmt_solution_ibfk_2` FOREIGN KEY (`riskmngmt_solution_risk`) REFERENCES `' . $dbPool->get()->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`);' - )->execute(); - break; - } - } } diff --git a/Models/Risk.php b/Models/Risk.php index df23e6f..1b64572 100644 --- a/Models/Risk.php +++ b/Models/Risk.php @@ -56,8 +56,11 @@ class Risk private $media = []; + private $createdAt = null; + public function __construct() { + $this->createdAt = new \DateTime('now'); } public function getId() : int diff --git a/Models/RiskMapper.php b/Models/RiskMapper.php index 3be4e6f..782c488 100644 --- a/Models/RiskMapper.php +++ b/Models/RiskMapper.php @@ -38,6 +38,7 @@ final class RiskMapper extends DataMapperAbstract 'riskmngmt_risk_process' => ['name' => 'riskmngmt_risk_process', 'type' => 'int', 'internal' => 'process'], 'riskmngmt_risk_responsible' => ['name' => 'riskmngmt_risk_responsible', 'type' => 'int', 'internal' => 'responsible'], 'riskmngmt_risk_deputy' => ['name' => 'riskmngmt_risk_deputy', 'type' => 'int', 'internal' => 'deputy'], + 'riskmngmt_risk_created_at' => ['name' => 'riskmngmt_risk_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'], ]; /**