public function run() { try { // 共通設定取得 $base_dir = dirname(__FILE__) . '/../'; $config = new Config($base_dir); $debug = $config->get_param('debug'); // レポート用オブジェクト $report = new Report($config); // メンバー一覧のオブジェクト $member = new Member($config); // 担当者マスターの差分を取得する。 $member->get_diff(); $this->mail_body .= $member->print_diff(); // プロジェクト一覧のオブジェクト $project = new Project($config); // プロジェクトマスターの差分を取得する。 $project->get_diff(); $this->mail_body .= $project->print_diff(); // 担当プロジェクトのオブジェクト $relation = new Relation($config); // 担当プロジェクトの差分を取得する。 $relation->set_member($member); $relation->set_project($project); $relation->get_diff(); $this->mail_body .= $relation->print_diff(); // BackLogIDが入力されているにもかかわらず担当者名が未入力のデータを検出する。 $this->mail_body .= $relation->validate(); // 複数コンテンツ障害の配信先 // 全社向け $multi_alert = new MultiAlert($config); $multi_alert->set_mode('all'); $multi_alert->set_project($project); $multi_alert->set_member($member); $multi_alert->get_diff(); $this->mail_body .= $multi_alert->print_diff(); // コンテンツ事業部向け $multi_alert = new MultiAlert($config); $multi_alert->set_mode('contents'); $multi_alert->set_project($project); $multi_alert->set_member($member); $multi_alert->get_diff(); $this->mail_body .= $multi_alert->print_diff(); // レポート $report->out($this->mail_body); // 古いファイルを削除 Util::remove_old_file($config->get_param('data_dir'), $config->get_param('keep_file_days')); } catch (Exception $e) { $member->remove(); $project->remove(); $relation->remove(); $multi_alert->remove(); if ($debug) { print $e->getMessage() . PHP_EOL; } else { $report->out($e->getMessage()); } } }