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