From 2751cdb1d7ffeeef90f536783dcd47084bcc689d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 21 Jun 2023 17:33:08 +0200 Subject: [PATCH] benchmark import done, form wip --- httpdocs/import/mpp_import_din.xlsx | Bin 112424 -> 112425 bytes httpdocs/src/Command/CmdImportBenchmark.php | 62 ++++-- httpdocs/src/Command/CmdImportDinAssets.php | 10 +- httpdocs/src/Controller/UserController.php | 20 ++ httpdocs/src/Entity/DinAsset.php | 83 +++++++- httpdocs/src/Entity/DinAssetBenchmark.php | 198 ++++++++++++++++++ httpdocs/src/Entity/DinAssetTask.php | 85 -------- .../templates/pages/risk_analysis.html.twig | 19 +- 8 files changed, 365 insertions(+), 112 deletions(-) create mode 100644 httpdocs/src/Entity/DinAssetBenchmark.php diff --git a/httpdocs/import/mpp_import_din.xlsx b/httpdocs/import/mpp_import_din.xlsx index 0ea33ec6f03539244a7bed23e59812fcf810f0f5..4cb449492b181c80a32b7ca67f4b7808c8cf26ca 100644 GIT binary patch delta 10017 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 delta 10112 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 diff --git a/httpdocs/src/Command/CmdImportBenchmark.php b/httpdocs/src/Command/CmdImportBenchmark.php index b05edd3..a3621e3 100755 --- a/httpdocs/src/Command/CmdImportBenchmark.php +++ b/httpdocs/src/Command/CmdImportBenchmark.php @@ -1,6 +1,8 @@ em->getConnection()->beginTransaction(); - $highestRow = $worksheet->getHighestRow(); - $highestColumn = $worksheet->getHighestColumn(); + try { + $this->em->createQuery('DELETE FROM App\Entity\DinAssetBenchmark')->execute(); + + $dinAssetsByDinAndName = []; + $dinAssets = $this->em->getRepository(DinAsset::class)->findAll(); + /** @var DinAsset $dinAsset */ + foreach ($dinAssets as $dinAsset) { + $dinAssetsByDinAndName[$dinAsset->getDinNumber().$dinAsset->getName()] = $dinAsset; + } + + $highestRow = $worksheet->getHighestRow(); + $highestColumn = $worksheet->getHighestColumn(); + + $startRow = 2; + $startCol = 'A'; + + for ($row = $startRow; $row <= $highestRow; $row++) { + $rowData = []; + for ($col = $startCol; $col <= $highestColumn; $col++) { + $cell = $worksheet->getCell($col . $row); + $rowData[] = $cell->getValue(); + } + $dinNumber = $rowData[0]; + $name = $rowData[5]; + $key = $dinNumber.$name; + + if (!array_key_exists($key, $dinAssetsByDinAndName)) { + $output->writeln("No din asset found: ". $key); + } else { + /** @var DinAsset $dinAsset */ + $dinAsset = $dinAssetsByDinAndName[$key]; + + $dinBenchmark = new DinAssetBenchmark(); + $dinBenchmark->setDinAsset($dinAsset); + $dinBenchmark->setComponent($rowData[7]); + $dinBenchmark->setType($rowData[9]); + $dinBenchmark->setBandwidth($rowData[11]); + $dinBenchmark->setDeviation($rowData[16]); + $dinBenchmark->setAverageCosts($rowData[17]); + $dinBenchmark->setMinAverageCosts($rowData[18]); + $dinBenchmark->setMaxAverageCosts($rowData[19]); - $startRow = 2; - $startCol = 'A'; - for ($row = $startRow; $row <= $highestRow; $row++) { - $rowData = []; - for ($col = $startCol; $col <= $highestColumn; $col++) { - $cell = $worksheet->getCell($col . $row); - $rowData[] = $cell->getValue(); + $this->em->persist($dinBenchmark); + } } - $worksheetData[] = $rowData; + $this->em->flush(); + $this->em->getConnection()->commit(); + } catch (\Exception $e) { + $this->em->getConnection()->rollBack(); } - $a = 0; return Command::SUCCESS; } diff --git a/httpdocs/src/Command/CmdImportDinAssets.php b/httpdocs/src/Command/CmdImportDinAssets.php index d010b62..56f2d2a 100755 --- a/httpdocs/src/Command/CmdImportDinAssets.php +++ b/httpdocs/src/Command/CmdImportDinAssets.php @@ -50,7 +50,6 @@ class CmdImportDinAssets extends Command $reader->setReadDataOnly(true); $spreadsheet = $reader->load($excelFile); - /** @var Connection $con */ $this->em->getConnection()->beginTransaction(); try { @@ -66,7 +65,6 @@ class CmdImportDinAssets extends Command $isDinWorksheet = $dinNumber >= 100 && $dinNumber < 1000; if ($isDinWorksheet) { - $worksheetData = []; $highestRow = $worksheet->getHighestRow(); $highestColumn = $worksheet->getHighestColumn(); @@ -92,6 +90,9 @@ class CmdImportDinAssets extends Command $dinAsset = new DinAsset(); $dinAsset->setDinNumber($rowData[0]); $dinAsset->setName($rowData[1]); + $dinAsset->setCycleMonthsMin($rowData[11]); + $dinAsset->setCycleMonthsMax($rowData[12]); + $dinAsset->setCycleMonthsRecommended($rowData[13]); $this->em->persist($dinAsset); $this->em->flush(); $dinAssetsByDinAndName[$key] = $dinAsset; @@ -108,12 +109,7 @@ class CmdImportDinAssets extends Command $dinAssetTask->setSpecialist($rowData[8] !== null); $dinAssetTask->setSkilledPersonnel($rowData[9] !== null); $dinAssetTask->setNorm($rowData[10]); - $dinAssetTask->setMinMonths($rowData[11]); - $dinAssetTask->setMaxMonths($rowData[12]); - $dinAssetTask->setMonthRecommendedInspection($rowData[13]); - $dinAssetTask->setMonthRecommendedMaintenance($rowData[14]); $this->em->persist($dinAssetTask); - $this->em->flush(); } } } diff --git a/httpdocs/src/Controller/UserController.php b/httpdocs/src/Controller/UserController.php index 6f6e441..b506120 100644 --- a/httpdocs/src/Controller/UserController.php +++ b/httpdocs/src/Controller/UserController.php @@ -10,6 +10,7 @@ namespace App\Controller; use App\Entity\Catalogue; use App\Entity\CatalogueDetail; use App\Entity\DinAsset; +use App\Entity\DinAssetBenchmark; use App\Entity\User; use App\Repository\UserRepository; use App\Utils\Utils; @@ -67,9 +68,28 @@ class UserController extends AbstractController $user = $this->getUser(); $dinAssets = $em->getRepository(DinAsset::class)->findAll(); + /** @var DinAsset $initialDinAsset */ + $initialDinAsset = null; + $benchmarkValues = []; + if (count($dinAssets) > 0) { + $initialDinAsset = $dinAssets[0]; + $benchmarks = $initialDinAsset->getBenchmarks(); + /** @var DinAssetBenchmark $benchmark */ + foreach ($benchmarks as $benchmark) { + $value = $benchmark->getComponent() ? $benchmark->getComponent() . " | " : ""; + $value.= $benchmark->getType() ? $benchmark->getType() . " | " : ""; + $value.= $benchmark->getBandwidth() ? $benchmark->getBandwidth() . " | " : ""; + if (substr($value, -3) === " | ") { + $value = rtrim($value, " | "); + } + $benchmarkValues[$benchmark->getId()] = $value; + } + } return $this->render('pages/risk_analysis.html.twig', [ + 'initialDinAsset' => $initialDinAsset, + 'benchmarkValues' => $benchmarkValues, 'dinAssets' => $dinAssets, 'riskFailure' => Utils::$riskFailure, 'riskCosts' => Utils::$riskCosts, diff --git a/httpdocs/src/Entity/DinAsset.php b/httpdocs/src/Entity/DinAsset.php index bd799b4..667901d 100644 --- a/httpdocs/src/Entity/DinAsset.php +++ b/httpdocs/src/Entity/DinAsset.php @@ -27,11 +27,31 @@ class DinAsset */ protected $name; + /** + * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) + */ + protected $cycleMonthsMin; + + /** + * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) + */ + protected $cycleMonthsMax; + + /** + * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) + */ + protected $cycleMonthsRecommended; + /** * @ORM\OneToMany(targetEntity="DinAssetTask", mappedBy="dinAsset", cascade={"persist", "remove"}) */ private $tasks; + /** + * @ORM\OneToMany(targetEntity="DinAssetBenchmark", mappedBy="dinAsset", cascade={"persist", "remove"}) + */ + private $benchmarks; + /** * @return mixed */ @@ -80,6 +100,54 @@ class DinAsset $this->name = $name; } + /** + * @return mixed + */ + public function getCycleMonthsMin() + { + return $this->cycleMonthsMin; + } + + /** + * @param mixed $cycleMonthsMin + */ + public function setCycleMonthsMin($cycleMonthsMin): void + { + $this->cycleMonthsMin = $cycleMonthsMin; + } + + /** + * @return mixed + */ + public function getCycleMonthsMax() + { + return $this->cycleMonthsMax; + } + + /** + * @param mixed $cycleMonthsMax + */ + public function setCycleMonthsMax($cycleMonthsMax): void + { + $this->cycleMonthsMax = $cycleMonthsMax; + } + + /** + * @return mixed + */ + public function getCycleMonthsRecommended() + { + return $this->cycleMonthsRecommended; + } + + /** + * @param mixed $cycleMonthsRecommended + */ + public function setCycleMonthsRecommended($cycleMonthsRecommended): void + { + $this->cycleMonthsRecommended = $cycleMonthsRecommended; + } + /** * @return mixed */ @@ -97,10 +165,19 @@ class DinAsset } /** - * @param mixed $task + * @return mixed */ - public function addTask($task): void + public function getBenchmarks() { - $this->tasks[] = $task; + return $this->benchmarks; } + + /** + * @param mixed $benchmarks + */ + public function setBenchmarks($benchmarks): void + { + $this->benchmarks = $benchmarks; + } + } diff --git a/httpdocs/src/Entity/DinAssetBenchmark.php b/httpdocs/src/Entity/DinAssetBenchmark.php new file mode 100644 index 0000000..5957422 --- /dev/null +++ b/httpdocs/src/Entity/DinAssetBenchmark.php @@ -0,0 +1,198 @@ +id; + } + + /** + * @return mixed + */ + public function getDinAsset() + { + return $this->dinAsset; + } + + /** + * @param mixed $dinAsset + */ + public function setDinAsset($dinAsset): void + { + $this->dinAsset = $dinAsset; + } + + /** + * @return mixed + */ + public function getComponent() + { + return $this->component; + } + + /** + * @param mixed $component + */ + public function setComponent($component): void + { + $this->component = $component; + } + + /** + * @return mixed + */ + public function getType() + { + return $this->type; + } + + /** + * @param mixed $type + */ + public function setType($type): void + { + $this->type = $type; + } + + /** + * @return mixed + */ + public function getBandwidth() + { + return $this->bandwidth; + } + + /** + * @param mixed $bandwidth + */ + public function setBandwidth($bandwidth): void + { + $this->bandwidth = $bandwidth; + } + + /** + * @return mixed + */ + public function getDeviation() + { + return $this->deviation; + } + + /** + * @param mixed $deviation + */ + public function setDeviation($deviation): void + { + $this->deviation = $deviation; + } + + /** + * @return mixed + */ + public function getAverageCosts() + { + return $this->average_costs; + } + + /** + * @param mixed $average_costs + */ + public function setAverageCosts($average_costs): void + { + $this->average_costs = $average_costs; + } + + /** + * @return mixed + */ + public function getMinAverageCosts() + { + return $this->min_average_costs; + } + + /** + * @param mixed $min_average_costs + */ + public function setMinAverageCosts($min_average_costs): void + { + $this->min_average_costs = $min_average_costs; + } + + /** + * @return mixed + */ + public function getMaxAverageCosts() + { + return $this->max_average_costs; + } + + /** + * @param mixed $max_average_costs + */ + public function setMaxAverageCosts($max_average_costs): void + { + $this->max_average_costs = $max_average_costs; + } + + +} diff --git a/httpdocs/src/Entity/DinAssetTask.php b/httpdocs/src/Entity/DinAssetTask.php index ba5fc82..14190de 100644 --- a/httpdocs/src/Entity/DinAssetTask.php +++ b/httpdocs/src/Entity/DinAssetTask.php @@ -72,26 +72,6 @@ class DinAssetTask */ protected $norm; - /** - * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) - */ - protected $minMonths; - - /** - * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) - */ - protected $maxMonths; - - /** - * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) - */ - protected $monthRecommendedInspection; - - /** - * @ORM\Column(type="smallint", nullable=false, options={"unsigned" = true}) - */ - protected $monthRecommendedMaintenance; - /** * @return mixed */ @@ -260,69 +240,4 @@ class DinAssetTask $this->norm = $norm; } - /** - * @return mixed - */ - public function getMinMonths() - { - return $this->minMonths; - } - - /** - * @param mixed $minMonths - */ - public function setMinMonths($minMonths): void - { - $this->minMonths = $minMonths; - } - - /** - * @return mixed - */ - public function getMaxMonths() - { - return $this->maxMonths; - } - - /** - * @param mixed $maxMonths - */ - public function setMaxMonths($maxMonths): void - { - $this->maxMonths = $maxMonths; - } - - /** - * @return mixed - */ - public function getMonthRecommendedInspection() - { - return $this->monthRecommendedInspection; - } - - /** - * @param mixed $monthRecommendedInspection - */ - public function setMonthRecommendedInspection($monthRecommendedInspection): void - { - $this->monthRecommendedInspection = $monthRecommendedInspection; - } - - /** - * @return mixed - */ - public function getMonthRecommendedMaintenance() - { - return $this->monthRecommendedMaintenance; - } - - /** - * @param mixed $monthRecommendedMaintenance - */ - public function setMonthRecommendedMaintenance($monthRecommendedMaintenance): void - { - $this->monthRecommendedMaintenance = $monthRecommendedMaintenance; - } - - } diff --git a/httpdocs/templates/pages/risk_analysis.html.twig b/httpdocs/templates/pages/risk_analysis.html.twig index 2dc065b..179f29c 100644 --- a/httpdocs/templates/pages/risk_analysis.html.twig +++ b/httpdocs/templates/pages/risk_analysis.html.twig @@ -44,10 +44,19 @@ - - - - + + {% if initialDinAsset is not null %} + + {% else %} + + {% endif %} + + + + {% endblock %}