This commit is contained in:
Dennis Eichhorn 2018-12-24 16:08:15 +01:00
parent b69c0a1425
commit 3916e4cde7
4 changed files with 548 additions and 251 deletions

543
Admin/Install/db.json Normal file
View File

@ -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"
}
}
}
}

View File

@ -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;
}
}
}

View File

@ -56,8 +56,11 @@ class Risk
private $media = [];
private $createdAt = null;
public function __construct()
{
$this->createdAt = new \DateTime('now');
}
public function getId() : int

View File

@ -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'],
];
/**