diff --git a/httpdocs/src/Controller/UserController.php b/httpdocs/src/Controller/UserController.php index 5579e10..54e98b1 100644 --- a/httpdocs/src/Controller/UserController.php +++ b/httpdocs/src/Controller/UserController.php @@ -124,15 +124,10 @@ class UserController extends AbstractController { $params = $request->request->all(); $benchmark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']); + /** @var DinAsset $asset */ $asset = $benchmark->getDinAsset(); $userCycle = $params['cycle']; - $cycleDeviation = 1 - ($userCycle / ($asset->getCycleMonthsRecMaintenance())); - $costsCurrentPerYear = (12 / $userCycle) * $benchmark->getAverageCosts(); - $costsRecPerYear = (12 / $asset->getCycleMonthsRecMaintenance()) * $benchmark->getAverageCosts(); - $costsDiffPerYear = $costsRecPerYear - $costsCurrentPerYear; - $costsDiff5Years = $costsDiffPerYear * 5; - $pointsFailure = Utils::$riskFailure[$params['failure']][1]; $pointsCosts = Utils::$riskCosts[$params['costs']][1]; if ($params['costs'] === Utils::PERSON_DAMAGE_INDEX) { @@ -140,16 +135,31 @@ class UserController extends AbstractController } $riskPoints = $pointsFailure + $pointsCosts; $riskFactor = Utils::$riskPoints[$riskPoints]['factor']; - $recCycle = (int) ($asset->getCycleMonthsMax() * $riskFactor); + $recCycleMaintenance = $asset->getCycleMonthsMax(); + if ( ((int)$params['maintenance']) === 1 && ((int)$params['check']) === 1 ) { + $recCycleMaintenance = (int) ($asset->getCycleMonthsMax() * $riskFactor); + if ($recCycleMaintenance < $asset->getCycleMonthsMin()) { + $recCycleMaintenance = $asset->getCycleMonthsMin(); + } + } $costsCurrentPerYear = (12 / $userCycle) * $benchmark->getAverageCosts(); - $costsRecPerYear = (12 / $recCycle) * $benchmark->getAverageCosts(); - + $costsRecPerYear = (12 / $recCycleMaintenance) * $benchmark->getAverageCosts(); + $recCycleInspection = $asset->getCycleMonthsMax(); + if ( ((int)$params['inspection']) === 1 ) { + $recCycleInspection = (int) ($asset->getCycleMonthsMax() * $riskFactor); + if ($recCycleInspection < $asset->getCycleMonthsMin()) { + $recCycleInspection = $asset->getCycleMonthsMin(); + } + } + $costDiffCurCycleRecCycle = $costsCurrentPerYear - $costsRecPerYear; + $costDiffCurRecPercentage = 1 - ($userCycle / $recCycleMaintenance); - $res = []; - $res['cycleRecMaintenance'] = $asset->getCycleMonthsRecMaintenance(); - $res['cycleRecInspection'] = $asset->getCycleMonthsRecInspection(); + $res['recCycleMaintenance'] = $recCycleMaintenance; + $res['recCycleInspection'] = $recCycleInspection; + $res['costDiffCurCycleRecCycle'] = $costDiffCurCycleRecCycle; + $res['costDiffCurRecPercentage'] = $costDiffCurRecPercentage; return $this->json($res); }