Example #1
0
    $APPLICATION->IncludeComponent("bitrix:main.user.link", '', array("AJAX_ONLY" => "Y", "PATH_TO_SONET_USER_PROFILE" => $arParams["~PATH_TO_USER_PROFILE"], "PATH_TO_SONET_MESSAGES_CHAT" => $arParams["~PATH_TO_MESSAGES_CHAT"], "DATE_TIME_FORMAT" => $arParams["~DATE_TIME_FORMAT"], "SHOW_YEAR" => $arParams["SHOW_YEAR"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams["SHOW_LOGIN"], "PATH_TO_CONPANY_DEPARTMENT" => $arParams["~PATH_TO_CONPANY_DEPARTMENT"], "PATH_TO_VIDEO_CALL" => $arParams["~PATH_TO_VIDEO_CALL"]), false, array("HIDE_ICONS" => "Y"));
    define('TASKS_MUL_INCLUDED', 1);
}
?>
<div class="task-report">
	<div class="tasks-whole-company-efficiency"><?php 
echo GetMessage("TASKS_REPORT_EMPLOYEES_COUNT");
?>
: <?php 
echo CTaskReport::GetEmployeesCount();
?>
. <?php 
echo GetMessage("TASKS_REPORT_USE_TASKS");
?>
: <?php 
echo CTaskReport::GetEmployeesCount() > 0 ? round($arResult["COMPANY_STATS"]["RESPONSIBLES"] / CTaskReport::GetEmployeesCount() * 100) : 0;
?>
% (<?php 
echo $arResult["COMPANY_STATS"]["RESPONSIBLES"];
?>
). <?php 
echo GetMessage("TASKS_REPORT_WHOLE_COMPANY_EFFICIENCY");
?>
: <?php 
echo $arResult["COMPANY_STATS"]["MARKED_IN_REPORT"] > 0 ? round($arResult["COMPANY_STATS"]["POSITIVE"] / $arResult["COMPANY_STATS"]["MARKED_IN_REPORT"] * 100) : 0;
?>
%</div>
	<div class="task-report-left-corner"></div>
	<div class="task-report-right-corner"></div>
	<table class="task-report-table" cellspacing="0" id="task-report-table">
Example #2
0
$rsDepartmentsReports = CTaskReport::GetDepartementStats($arDepartmentsFilter);
while ($departmentStats = $rsDepartmentsReports->GetNext()) {
    $arResult["DEPARTMENTS"][$departmentStats["DEPARTMENT_ID"]]["STATS"] = $departmentStats;
}
// whole company
$arCompanyFilter = $arFilter;
if (isset($arCompanyFilter["RESPONSIBLE_ID"])) {
    unset($arCompanyFilter["RESPONSIBLE_ID"]);
}
if (isset($arCompanyFilter["DEPARTMENT_ID"])) {
    unset($arCompanyFilter["DEPARTMENT_ID"]);
}
if (isset($arCompanyFilter["GROUP_ID"])) {
    unset($arCompanyFilter["GROUP_ID"]);
}
$rsCompanyStats = CTaskReport::GetCompanyStats($arCompanyFilter);
if ($companyStats = $rsCompanyStats->GetNext()) {
    $arResult["COMPANY_STATS"] = $companyStats;
}
if ($arParams["SET_TITLE"] == "Y") {
    $APPLICATION->SetTitle(GetMessage("TASKS_EFFICIENCY_REPORT"));
}
if ($arParams["SET_NAVCHAIN"] != "N") {
    if ($taskType == "user") {
        $APPLICATION->AddChainItem(CUser::FormatName($arParams["NAME_TEMPLATE"], $arResult["USER"]), CComponentEngine::MakePathFromTemplate($arParams["~PATH_TO_USER_PROFILE"], array("user_id" => $arParams["USER_ID"])));
        $APPLICATION->AddChainItem(GetMessage("TASKS_EFFICIENCY_REPORT"));
    } else {
        $APPLICATION->AddChainItem($arResult["GROUP"]["NAME"], CComponentEngine::MakePathFromTemplate($arParams["~PATH_TO_GROUP"], array("group_id" => $arParams["GROUP_ID"])));
        $APPLICATION->AddChainItem(GetMessage("TASKS_EFFICIENCY_REPORT"));
    }
}
Example #3
0
 function GetCompanyStats($arFilter = array())
 {
     global $DB;
     $arSqlSearch = CTasks::GetFilter($arFilter);
     if (!array_key_exists('PERIOD', $arFilter)) {
         $arFilter['PERIOD'] = null;
     }
     $strSql = "\n\t\t\tSELECT\n\t\t\t\tCOUNT(DISTINCT T.RESPONSIBLE_ID) AS RESPONSIBLES,\n\t\t\t\tSUM(" . CTaskReport::GetPeriodCondition($arFilter["PERIOD"], "CLOSED_DATE", "T.CLOSED_DATE IS NOT NULL AND T.ADD_IN_REPORT = 'Y' AND (T.MARK = 'P' OR T.MARK = 'N')") . ") AS MARKED_IN_REPORT,\n\t\t\t\tSUM(" . CTaskReport::GetPeriodCondition($arFilter["PERIOD"], "CLOSED_DATE", "T.CLOSED_DATE IS NOT NULL AND T.ADD_IN_REPORT = 'Y' AND T.MARK = 'P'") . ") AS POSITIVE\n\t\t\tFROM\n\t\t\t\tb_tasks T\n\t\t\tINNER JOIN\n\t\t\t\tb_user U ON U.ID = T.RESPONSIBLE_ID\n\t\t\tWHERE\n\t\t\t\tT.ADD_IN_REPORT = 'Y'\n\t\t\tAND\n\t\t\t\tU.ACTIVE = 'Y'\n\t\t\t";
     if (count($arSqlSearch) !== 0) {
         $strSql .= ' AND ' . implode(' AND ', $arSqlSearch);
     }
     $res = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     return $res;
 }