return $weeks;
}
- public static function calculateFactFormula(&$motivationDataTableSort) {
+ public static function calculateFactFormula(&$motivationDataTableSort, $year, $month) {
+ // Определяем последний день месяца
+ $lastDayOfMonth = date('t', strtotime("$year-$month-01"));
+
$indMap = [];
foreach ($motivationDataTableSort as $ind => $row) {
if (!key_exists('name', $row)) {
$motivationDataTableSort[$indMap["Чистая прибыль"]][$column] / $c5;
}
- if ($ind > 0) {
- $c62 = $motivationDataTableSort[$indMap["Чистая прибыль"]][$column];
- $b64 = $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$ind == 6 ? "plan" : $column];
-
- $j66 = 0;
- if ($c62 >= $b64) {
- $formula = $c62 - $c5 * $motivationDataTableSort[$indMap["Пороговый коэффициент"]]["plan"];
- if ($formula > 0) {
- $j66 = $formula;
- }
+ if ($ind == 0) {
+ $b62 = $motivationDataTableSort[$indMap["Чистая прибыль"]]["plan"];
+ if ($b62 > 0) {
+ $b64 = $b62 * 0.9;
+ } else {
+ $b64 = $b62 * 1.1;
}
- $motivationDataTableSort[$indMap["РаÑ\81Ñ\87еÑ\82 пÑ\80емии"]][$column] = $j66 + 0;
+ $motivationDataTableSort[$indMap["Ð\9cинималÑ\8cнÑ\8bй поÑ\80ог ЧиÑ\81Ñ\82ой пÑ\80ибÑ\8bли, Ñ\80Ñ\83б."]]["plan"] = $b64;
}
+ if ($ind >= 1 && $ind <= 4) {
+ $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$column] =
+ $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]["plan"] / $lastDayOfMonth * 7;
+ }
+ if ($ind == 5) {
+ $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$column] =
+ $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]["plan"] / $lastDayOfMonth * ($lastDayOfMonth - 4 * 7);
+ }
+ if ($ind == 7) {
+ $sum = 0;
+ foreach (range(1, 5) as $index) {
+ $sum += $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]['week' . $index];
+ }
+ $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$column] = $sum;
+ }
+
+// if ($ind > 0) {
+// $c62 = $motivationDataTableSort[$indMap["Чистая прибыль"]][$column];
+// $b64 = $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$ind == 6 ? "plan" : $column];
+//
+// $j66 = 0;
+// if ($c62 >= $b64) {
+// $formula = $c62 - $c5 * $motivationDataTableSort[$indMap["Пороговый коэффициент"]]["plan"];
+// if ($formula > 0) {
+// $j66 = $formula;
+// }
+// }
+// $motivationDataTableSort[$indMap["Расчет премии"]][$column] = $j66 + 0;
+// }
}
// Отклонение