Пример #1
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();
 }
Пример #2
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;
}
Пример #3
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;
    }
Пример #4
0
/**
 * Для вывода суммы счета пользователя на всем сайте в конкретной валюте
 * @staticvar type $curs 
 * @param type $sum
 * @return type
 */
function _bill($sum, $cur = null)
{
    static $curs;
    if ($curs == null) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/exrates.php';
        $exrates = new exrates();
        if ($cur == null) {
            $cur = exrates::WMR;
        }
        $curs = $exrates->GetField(exrates::FM . $cur, $error, 'val');
    }
    return round($sum * $curs, 2);
}
Пример #5
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) {
    ?>
Пример #6
0
 /**
  * Произведена выплата гонорара.
  * @param type $events 
  */
 function SbrMoneyPaidEmp($events)
 {
     $ev0 = $events[0];
     $url = $GLOBALS['host'] . '/' . sbr::NEW_TEMPLATE_SBR . '/';
     $r = 'f_';
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php';
     $sbr = sbr_meta::getInstanceLocal($ev0['f_uid']);
     $stage = $sbr->initFromStage($ev0['stage_id']);
     $arb = $stage->getArbitrage();
     $type_payment = exrates::getNameExrates($stage->type_payment);
     $this->subject = "Произведена выплата гонорара (проект «{$ev0['sbr_name']}»)";
     $sbr_name = sbr_meta::getNameForMail($ev0, 'sbr');
     $msg = "Информируем вас о том, что возврат денег в Сделке «<a href='{$url}?site=Stage&id={$ev0['stage_id']}{$this->_addUrlParams('f', '&')}'>{$sbr_name}</a>» произведен (в соответствии с решением Арбитража).<br/><br/>";
     $msg .= "Зачисление средств на ваш личный счет может занять некоторое время (от нескольких минут до нескольких дней в зависимости от способа выплаты).";
     $this->message = $this->splitMessage($this->GetHtml($ev0[$r . 'uname'], $msg, array('header' => 'simple', 'footer' => 'norisk_robot')));
     $this->recipient = $ev0[$r . 'uname'] . " " . $ev0[$r . 'usurname'] . " [" . $ev0[$r . 'login'] . "] <" . $ev0[$r . 'email'] . ">";
     $this->SmtpMail('text/html');
 }
Пример #7
0
 /**
  * Инициализирует массив текущих курсов обмена валют.
  * @see exrates
  */
 function getExrates()
 {
     $this->exrates = exrates::GetAll();
 }
Пример #8
0
if (!(hasPermissions('bankalpha') && hasPermissions('adm'))) {
    header("Location: /404.php");
    exit;
}
$no_banner = 1;
$rpath = '../../';
$content = '../content2.php';
$header = $rpath . 'header.php';
$footer = $rpath . 'footer.html';
$inner_page = 'index_inner.php';
$css_file = array('calendar.css', 'moderation.css', 'nav.css', 'new-admin.css');
$js_file = array('calendar.js');
$sError = '';
$action = $_REQUEST['action'];
$account = new account();
$exrates = new exrates();
if ($action == 'add') {
    $sLogin = $_POST['login'];
    $nSummR = floatval($_POST['summ']);
    $nStamp = strtotime($_POST['date'] . ' ' . $_POST['time']);
    $oUser = new users();
    $oUser->GetUser($sLogin);
    if ($oUser->uid) {
        if ($nSummR > 0) {
            if (intval($nStamp)) {
                $nRate = $exrates->GetField(51, $err, 'val');
                $nSummFM = round($nSummR, 2);
                $sAdmin = 'Запись добавил: ' . $_SESSION['login'];
                $comments = "Безналичный перевод для физ.лиц, логин {$oUser->login}, Альфа-банк";
                $sDate = date('c', $nStamp);
                if ($account->GetInfo($oUser->uid, true) && !($err = $account->depositEx($account->id, $nSummFM, $sAdmin, $comments, 12, $nSummR, 11, $sDate))) {
Пример #9
0
                            <?php 
        if ($item['op_code'] != billing::RESERVE_OP_CODE) {
            ?>
                            <div class="b-layout__txt b-layout__txt_fontsize_15"><?php 
            echo reformat(htmlspecialchars_decode($item['comments']), 27, 0, 1);
            ?>
</div>
                            <?php 
        } elseif ($item['status'] == 'reserve') {
            //if
            ?>
                            <div class="b-layout__txt b-layout__txt_fontsize_15 b-layout__txt_color_c10600" id="com<?php 
            echo $item['id'];
            ?>
">Ожидание оплаты<br><?php 
            echo exrates::getNameExratesForHistory($item['payment_sys']);
            ?>
</div>
                            <?php 
        } elseif ($item['status'] == 'cancel') {
            //if
            ?>
                            <div class="b-layout__txt b-layout__txt_fontsize_15 b-layout__txt_color_808080" id="com<?php 
            echo $item['id'];
            ?>
">Список заказов отменен</div>
                            <?php 
        }
        //else
        ?>
                        </td>