public static function getCurrentBalanceInstance() { $sysBalance = BalanceSystemTable::getInstance()->findOneByIdPeriod(Period::getCurrentPeriod()->getId()); if (!$sysBalance) { $sysBalance = new BalanceSystem(); $sysBalance->setPeriod(Period::getCurrentPeriod()); $sysBalance->countInBalance(); $sysBalance->save(); } return $sysBalance; }
public static function countWeights(Period $period) { // общая сумма продаж $tSum = BalanceSystemTable::getInstance()->findOneByIdPeriod($period->getId())->getToPayPUsers(); $q = UserTable::addPUserQuery()->execute(); foreach ($q as $user) { if (($bu = BalanceUserTable::getByUserIdAndPeriodId($user->getId(), $period->getId())) !== false) { $uWeight = $bu->getPayable() * 100 / $tSum; $user->setWeight((double) $uWeight); $user->save(); } } }