Пример #1
0
function CalcPaidAdvice($sum, $scheme)
{
    $objResponse = new xajaxResponse();
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/exrates.php";
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr.php";
    $exrates = new exrates();
    if (intval($sum) <= 0) {
        $objResponse->assign("sum_fm", "value", "");
        $objResponse->assign("sum_rating", "innerHTML", "");
        return $objResponse;
    }
    $advice = new paid_advices();
    $EXR = $exrates->GetAll();
    if ($scheme == 1) {
        $sum_fm = round($sum / $EXR[13], 2);
        $FM = round($sum * paid_advices::PAID_COMMISION, 2);
        $RT = $advice->getSBRRating($sum);
        $html_rt = 'и получите <strong>' . $RT . '</strong>&#160;' . ending($RT, "балл", "балла", "баллов") . ' рейтинга';
        if ($sum < sbr_stages::MIN_COST_RUR_PDRD) {
            $objResponse->script("\$('error_budget').show();");
        } else {
            $objResponse->script("\$('error_budget').hide();");
        }
        $objResponse->assign("sum_fm", "value", $FM);
        $objResponse->assign("sum_rating", "innerHTML", $html_rt);
    } else {
        if ($scheme == 2) {
            $RUB = round($sum / paid_advices::PAID_COMMISION, 2);
            $sum_fm = round($RUB, 2);
            $RT = $advice->getSBRRating($sum);
            $html_rt = 'и получите <strong>' . $RT . '</strong>&#160;' . ending($RT, "балл", "балла", "баллов") . ' рейтинга';
            if ($RUB < sbr_stages::MIN_COST_RUR_PDRD) {
                $objResponse->script("\$('error_budget').show();");
            } else {
                $objResponse->script("\$('error_budget').hide();");
            }
            $objResponse->assign("sum_rub", "value", $RUB);
            $objResponse->assign("sum_rating", "innerHTML", $html_rt);
        }
    }
    return $objResponse;
}
Пример #2
0
 /**
  * Формирует отчет по арбитражу за определенный период.
  *
  * @param string $sStartDate дата начала периода
  * @param string $sEndDate   дата конца периода
  */
 public function printArbitrageReport($sStartDate = null, $sEndDate = null)
 {
     global $EXRATE_CODES;
     // имя итогового файла
     $sWorkTitle = 'Arbitrage report';
     $sWorkTitle .= $sStartDate ? ' ' . $sStartDate : '';
     $sWorkTitle .= $sEndDate ? ' - ' . $sEndDate : '';
     $sWorkTitle .= '.xls';
     // выбираем все этапы которые закрыты арбитражом
     global $DB;
     $sQuery = 'SELECT ss.id, sd.num FROM sbr_stages ss 
         LEFT JOIN sbr_docs sd ON ss.sbr_id = sd.sbr_id AND sd.type = 8 
         WHERE ss.status = ' . sbr_stages::STATUS_ARBITRAGED;
     $sQuery .= $sStartDate ? " AND ss.closed_time >= '{$sStartDate}'" : '';
     $sQuery .= $sEndDate ? " AND ss.closed_time <= '{$sEndDate}'" : '';
     $aRows = $DB->rows($sQuery . ' ORDER BY ss.closed_time');
     // подключаем pear
     require_once 'Spreadsheet/Excel/Writer.php';
     // создаем документ
     $workbook = new Spreadsheet_Excel_Writer();
     $workbook->setVersion(8);
     // создаем лист
     $worksheet =& $workbook->addWorksheet('1');
     $worksheet->setInputEncoding('CP1251');
     // заголовок листа
     $worksheet->write(0, 0, 'ООО "Ваан"');
     $worksheet->write(2, 1, 'Таблица по актам арбитража');
     $m_sty = array('NumFormat' => '### ### ##0.00', 'Align' => 'right');
     $d_sty = array('NumFormat' => 'DD MMM, YYYY HH:MM:SS');
     $td_sty = array('FontFamily' => 'Calibri', 'VAlign' => 'vequal_space', 'Align' => 'center', 'Border' => 1, 'BorderColor' => 'black');
     $th_sty = array('FontFamily' => 'Arial', 'Size' => 10, 'Align' => 'center', 'Border' => 1, 'BorderColor' => 'black', 'Bold' => 1);
     $format_top =& $workbook->addFormat($th_sty);
     $format_td =& $workbook->addFormat($td_sty);
     $format_money =& $workbook->addFormat(array_merge($td_sty, $m_sty));
     $format_date =& $workbook->addFormat(array_merge($td_sty, $d_sty));
     $format_top->setTextWrap(1);
     $aHeader = array('№ п/п', 'Номер акта', 'Дата', 'Номер «Безопасной Сделки»', 'Наименование Работодателя', 'Наименование Исполнителя', 'Сумма к выплате Работодателю, руб.коп.', 'Сумма к выплате Исполнителю, руб.коп.', 'Способ выплаты');
     for ($i = 0; $i < count($aHeader); ++$i) {
         $worksheet->write(3, $i, $aHeader[$i], $format_top);
     }
     // данные
     if ($aRows) {
         $nCnt = 1;
         $aRates = exrates::GetAll();
         foreach ($aRows as $aOne) {
             $sbr = sbr_meta::getInstance(sbr_meta::ADMIN_ACCESS);
             $stage = $sbr->initFromStage($aOne['id'], false);
             $stage->getArbitrage(true);
             // № п/п
             $worksheet->write($nCnt + 3, 0, $nCnt, $format_td);
             // Номер акта
             $worksheet->write($nCnt + 3, 1, $aOne['num'], $format_td);
             // Дата
             $sDate = date('Y-m-d H:i:s', strtotime($stage->arbitrage['resolved']));
             $worksheet->write($nCnt + 3, 2, $sDate, $format_date);
             // Номер СБР
             $worksheet->write($nCnt + 3, 3, $stage->sbr->getContractNum(), $format_td);
             // Наименование Работодателя
             $stage->sbr->getEmpReqvs();
             $sEmpFio = sbr_meta::getFioFromReqvs($stage->sbr->emp_reqvs);
             if (!$sEmpFio) {
                 $emp = new employer();
                 $emp->GetUserByUID($stage->sbr->emp_id);
                 $sEmpFio = $emp->uname . ' ' . $emp->usurname . ' [' . $emp->login . ']';
             }
             $worksheet->write($nCnt + 3, 4, $sEmpFio, $format_td);
             // Наименование Исполнителя
             $stage->sbr->getFrlReqvs();
             $sFrlFio = sbr_meta::getFioFromReqvs($stage->sbr->frl_reqvs);
             if (!$sFrlFio) {
                 $frl = new freelancer();
                 $frl->GetUserByUID($stage->sbr->frl_id);
                 $sFrlFio = $frl->uname . ' ' . $frl->usurname . ' [' . $frl->login . ']';
             }
             $worksheet->write($nCnt + 3, 5, $sFrlFio, $format_td);
             // Сумма к выплате Работодателю, руб.коп.
             $nSumm = $stage->getPayoutSum(sbr::EMP, exrates::BANK);
             $worksheet->write($nCnt + 3, 6, $nSumm, $format_money);
             // Сумма к выплате Исполнителю, руб.коп.
             $nSumm = $stage->getPayoutSum(sbr::FRL, exrates::BANK);
             $worksheet->write($nCnt + 3, 7, $nSumm, $format_money);
             // Способ выплаты
             $worksheet->write($nCnt + 3, 8, $EXRATE_CODES[$stage->sbr->cost_sys][1], $format_td);
             ++$nCnt;
         }
     }
     // отправляем на скачивание
     $workbook->send($sWorkTitle);
     // закрываем документ
     $workbook->close();
 }
Пример #3
0
<?php

if (!defined('IS_SITE_ADMIN')) {
    header('Location: /404.php');
    exit;
}
if (!$sbr) {
    exit;
}
// курсы обмена
$exrates = exrates::GetAll();
?>
<script type="text/javascript">
var SBR; window.addEvent('domready', function() { SBR = new Sbr('siteadminFrm'); } );
</script>
<h3>Статистика СБР</h3>
<div class="m-cl-bar">
    <form action="." method="get" id="siteadminFrm">
        Период:
        <?php 
include $_SERVER['DOCUMENT_ROOT'] . '/norisk2/tpl.filter-period.php';
?>
        <input type="hidden" name="site" value="stat" />
        <input type="submit" value="Показать" />
        &nbsp;&nbsp;
        <a href="/siteadmin/norisk2/?site=stat" class="lnk-dot-666">Сбросить фильтр</a>
    </form>
</div>
<?php 
foreach ($stats as $type => $st) {
    ?>
Пример #4
0
$filterCounts = opinions::getFilterCounts($to_id, is_emp($user->role), $sort, $author, $period);
/**
 * @deprecated #0015627
if ($uid) {
    $can_post = opinions::CheckUserCanPost($uid, $to_id);
}
*/
$_SESSION['page_user_id'] = $user->uid;
if ($ops_type == 'norisk') {
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/paid_advices.php";
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr.php";
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/exrates.php";
    $sbr = new sbr(get_uid(false));
    $isReqvsFilled = !$sbr->checkUserReqvs();
    $exrates = new exrates();
    $EXR = $exrates->GetAll();
    $paid_advice = new paid_advices();
    $can_post = 0;
    $_attached = array();
    function set_loaded_attach($type, $id, $name, $link = false)
    {
        global $_attached;
        $_attached['ids'][$type] = $id;
        $_attached['ext'][$type] = getICOFile(CFile::getext($name));
        if (strlen($name) > 40) {
            $name = substr($name, 0, 18) . '...' . substr($name, strlen($name) - 18, 18);
        }
        $_attached['name'][$type] = $name;
        $_attached['link'][$type] = $link;
    }
    if (isset($_GET['edit']) && intval($_GET['edit']) <= 0) {
Пример #5
0
 /**
  * Инициализирует массив текущих курсов обмена валют.
  * @see exrates
  */
 function getExrates()
 {
     $this->exrates = exrates::GetAll();
 }