/**
  * export/download top 10 player into pdf
  * role: administrator
  */
 public function get_player_top_10()
 {
     if (authenticate::is_authorized()) {
         $model_report = new ReportGenerator();
         $model_leaderboard = Leaderboard::getInstance();
         $model_report->get_report_top_10($model_leaderboard->get_top10_ranking());
         $model_report->print_report();
     } else {
         transport("administrator");
     }
 }
Пример #2
0
function LoanReport()
{
    $BranchID = $_POST["BranchID"];
    $blockID = $_POST["BlockID"];
    $StartDate = $_POST["StartDate"];
    $EndDate = $_POST["EndDate"];
    $TafsiliID = $_POST["TafsiliID"];
    $where = "";
    $param = array($_SESSION["accounting"]["CycleID"], $blockID);
    if ($BranchID != "") {
        $where .= " AND BranchID =?";
        $param[] = $BranchID;
    }
    if ($TafsiliID != "") {
        $where .= " AND (TafsiliID=? or TafsiliID2=?)";
        $param[] = $TafsiliID;
        $param[] = $TafsiliID;
    }
    if ($StartDate != "") {
        $where .= " AND DocDate >=?";
        $param[] = DateModules::shamsi_to_miladi($StartDate, "-");
    }
    if ($EndDate != "") {
        $where .= " AND DocDate <=?";
        $param[] = DateModules::shamsi_to_miladi($EndDate, "-");
    }
    $dt = PdoDataAccess::runquery("\r\n\t\tselect cc.*,concat_ws(' - ',b1.BlockDesc,b2.BlockDesc,b3.BlockDesc) CostDesc,\r\n\t\t\t\tsum(CreditorAmount - DebtorAmount ) remain\r\n\t\tfrom ACC_DocItems di\r\n\t\t\tjoin ACC_docs using(DociD)\r\n\t\t\tjoin ACC_CostCodes cc using(CostID)\r\n\t\t\tjoin ACC_blocks b1 on(cc.level1=b1.BlockID)\r\n\t\t\tjoin ACC_blocks b2 on(cc.level2=b2.BlockID)\r\n\t\t\tleft join ACC_blocks b3 on(cc.level3=b3.BlockID)\r\n\t\t\t\r\n\t\twhere CycleID=? AND cc.level2 = ? " . $where . "\r\n\t\t\r\n\t\tgroup by di.CostID", $param);
    //print_r(ExceptionHandler::PopAllExceptions());
    function moneyRender($row, $val)
    {
        $BranchID = $_POST["BranchID"];
        $StartDate = $_POST["StartDate"];
        $EndDate = $_POST["EndDate"];
        $TafsiliID = $_POST["TafsiliID"];
        $params = "IncludeRaw=true&show=true";
        $params .= $BranchID != "" ? "&BranchID=" . $BranchID : "";
        $params .= $TafsiliID != "" ? "&TafsiliID=" . $TafsiliID : "";
        $params .= $row["level1"] != "" ? "&level1=" . $row["level1"] : "";
        $params .= $row["level2"] != "" ? "&level2=" . $row["level2"] : "";
        $params .= $row["level3"] != "" ? "&level3=" . $row["level3"] : "";
        $params .= $StartDate != "" ? "&fromDate=" . $StartDate : "";
        $params .= $EndDate != "" ? "&toDate=" . $EndDate : "";
        return "<a target=_blank href='../accounting/report/flow.php?" . $params . "'>" . number_format($val) . "</a>";
    }
    $rpg = new ReportGenerator();
    $rpg->mysql_resource = $dt;
    $col = $rpg->addColumn("کد حساب", "CostDesc");
    $col = $rpg->addColumn("مانده حساب", "remain", "moneyRender");
    $rpg->generateReport();
    die;
}
 /**
  * export/download overall report into pdf
  * role: administrator
  */
 public function get_overall()
 {
     if (Authenticate::is_authorized()) {
         $model_player = Player::getInstance();
         $model_feedback = Feedback::getInstance();
         $model_administrator = Administrator::getInstance();
         $model_leaderboard = Leaderboard::getInstance();
         $model_report = new ReportGenerator();
         $model_report->get_report_overall($model_player->get_player_report(), $model_feedback->retrieve_feedback_report(), $model_administrator->retrieve_traffic_report(), $model_leaderboard->get_top10_ranking());
         $model_report->print_report();
     } else {
         transport("administrator");
     }
 }
 /**
  * @return null|Printer|ReportGenerator
  * get singleton instance
  */
 public static function getInstance()
 {
     if (!self::$instance) {
         self::$instance = new ReportGenerator();
     }
     return self::$instance;
 }
Пример #5
0
 public function show($id)
 {
     $this->cache_control('private', Variable::getInteger('status-refresh', 30));
     try {
         $this->report = new Report($id);
         if (!$this->report->isReadable()) {
             throw new fAuthorizationException('You are not allowed to view this report.');
         }
         global $cache;
         $this->board = $cache->get($this->report->getBoardCacheKey());
         if ($this->board === NULL) {
             $p = $this->report->getProblems();
             $un = $this->report->getUsernames();
             $up = $this->report->getUserPairs();
             $un[] = '';
             $up[] = array('id' => '', 'name' => '平均');
             $st = $this->report->getStartDatetime();
             $et = $this->report->getEndDatetime();
             $this->board = new BoardTable(ReportGenerator::headers($p), $up, ReportGenerator::scores($p, $un, $st, $et));
             $cache->set($this->report->getBoardCacheKey(), $this->board, 10);
         }
         if ($this->report->isHomework()) {
             $this->nav_class = 'homework';
         } else {
             $this->nav_class = 'reports';
         }
         $this->render('report/show');
     } catch (fExpectedException $e) {
         fMessaging::create('warning', $e->getMessage());
         fURL::redirect(Util::getReferer());
     } catch (fUnexpectedException $e) {
         fMessaging::create('error', $e->getMessage());
         fURL::redirect(Util::getReferer());
     }
 }
Пример #6
0
    private static function RecursiveMakeNode($row)
    {
        $returnVal = '"id":"' . $row["ColumnID"] . '",
					"text":"' . $row["colName"] . '",
					"fieldName":"' . $row["fieldName"] . '",';
        $dt = parent::runquery("select * from rp_columns where parentID=" . $row["ColumnID"]);
        if (count($dt) != 0) {
            $returnVal .= '"children":[';
            for ($j = 0; $j < count($dt); $j++) {
                $returnVal .= "{" . ReportGenerator::RecursiveMakeNode($dt[$j]) . "},";
            }
            $returnVal = substr($returnVal, 0, strlen($returnVal) - 1) . "]";
        } else {
            $returnVal .= '"leaf":true';
        }
        return $returnVal;
    }
 /**
  * export/download player log into pdf
  * role: administrator
  */
 public function get_player_logging()
 {
     if (Authenticate::is_authorized()) {
         $model_logging = Log::getInstance();
         $id = $this->framework->url->url_part(3);
         $model_report = ReportGenerator::getInstance();
         $model_report->get_report_player_log($model_logging->get_log($id));
         $model_report->print_report();
     } else {
         transport("administrator");
     }
 }
Пример #8
0
function GetChangesExcel(){
	
	$param = array();
	$where = "";
	$param[":year"] = $_POST["pay_year"];
	$param[":month"] = $_POST["pay_month"];
	$param[":pt"] = $_POST["PayType"];
	
	$pre_year = $_POST["pay_year"] ;
	$pre_month = $_POST["pay_month"] - 1 ;
	if($pre_month == 0){
		$pre_year--;
		$pre_month = 12 ;
	}
	$param[":preyear"] = $pre_year;
	$param[":premonth"] = $pre_month;
	
	
	MakeWhere($where, $param);
	
	$dataTable = PdoDataAccess::runquery_fetchMode("
		select     
			'' date,
			concat(plname,' ',pfname) name,
			s.staff_id ,
			bi.Title emp_mode_desc,
			pit1.get_value val1,
			if( pit2.param1 - pit1.param1>0 , pit2.param1 - pit1.param1 , 0 ) normal_insure_inc, 
			if( pit2.param8 - pit1.param8>0 , pit2.param8 - pit1.param8 , 0 ) normal2_insure_inc, 
			if( pit2.param2 - pit1.param2>0 , pit2.param2 - pit1.param2 , 0 ) first_surplus_insure_inc,
			if( pit2.param3 - pit1.param3>0 , pit2.param3 - pit1.param3 , 0 ) second_surplus_insure_inc,
			if( pit2.param1 - pit1.param1>0 , pit2.param1 - pit1.param1 , 0 ) +
				if(pit2.param2 - pit1.param2>0 , pit2.param2 - pit1.param2 , 0 ) +
				if(pit2.param3 - pit1.param3>0 , pit2.param3 - pit1.param3 , 0 ) insure_inc_count,
			bi2.Title emp_mode_desc2,
			pit2.get_value val2,
			if( pit2.param1 - pit1.param1>0 , 0 , pit1.param1 - pit2.param1 ) normal_insure_dec,
			if( pit2.param8 - pit1.param8>0 , 0 , pit1.param8 - pit2.param8 ) normal2_insure_dec,
			if( pit2.param2 - pit1.param2>0 , 0 , pit1.param2 - pit2.param2 ) first_surplus_insure_dec,
			if( pit2.param3 - pit1.param3>0 , 0 , pit1.param3 - pit2.param3 ) second_surplus_insure_dec,
			if( pit2.param1 - pit1.param1>0 , 0 , pit1.param1 - pit2.param1 ) +
				if(	pit2.param2 - pit1.param2>0 , 0 , pit1.param2 - pit2.param2 ) +
				if( pit2.param3 - pit1.param3>0 , 0 , pit1.param3 - pit2.param3 ) insure_dec_count

		from staff s
			INNER JOIN persons per ON (per.personID = s.personID)
			LEFT OUTER JOIN payments p1
				ON p1.pay_year = :preyear AND p1.pay_month = :premonth AND p1.payment_type = :pt AND s.staff_id = p1.staff_id 
			LEFT OUTER JOIN payments p2
				ON p2.pay_year = :year AND p2.pay_month = :month AND p2.payment_type = :pt AND s.staff_id = p2.staff_id
			LEFT OUTER JOIN writs w1
				ON (w1.writ_id = p1.writ_id AND w1.writ_ver = p1.writ_ver AND w1.staff_id = p1.staff_id )
			LEFT OUTER JOIN writs w2
				ON (w2.writ_id = p2.writ_id AND w2.writ_ver = p2.writ_ver AND w2.staff_id = p2.staff_id )
			LEFT OUTER JOIN payment_items pit1
				ON ((p1.staff_id = pit1.staff_id) AND (p1.pay_year = pit1.pay_year) AND
					(p1.pay_month = pit1.pay_month) AND (p1.payment_type = pit1.payment_type))
					AND (pit1.salary_item_type_id IN (143,38) )
			LEFT OUTER JOIN payment_items pit2
				ON ((p2.staff_id = pit2.staff_id) AND (p2.pay_year = pit2.pay_year) AND
					(p2.pay_month = pit2.pay_month) AND (p2.payment_type = pit2.payment_type))
					AND (pit2.salary_item_type_id IN (143,38) )
			left join Basic_Info bi on(bi.TypeID=4 AND bi.InfoID=w1.emp_mode)
			left join Basic_Info bi2 on(bi2.TypeID=4 AND bi2.InfoID=w2.emp_mode)
		
		where (pit1.get_value > 0 OR pit2.get_value >0 ) AND
			(pit1.param1 != pit2.param1 OR
			 pit1.param8 != pit2.param8 OR
			 pit1.param2 != pit2.param2 OR
			 pit1.param3 != pit2.param3 OR
			 w1.emp_mode != w2.emp_mode ) $where ", $param);
	
	//echo PdoDataAccess::GetLatestQueryString();die();
	
	$rpt = new ReportGenerator();
	$rpt->mysql_resource = $dataTable;
	
	$rpt->addColumn("تاريخ", "date");
	$rpt->addColumn('نام و نام خانوادگي', "name");
	$rpt->addColumn("كد اصلي بيمه شده", "staff_id");
	$rpt->addColumn("وضعيت استخدامي قبل", "emp_mode_desc");
	$rpt->addColumn("مبلغ قبلي", "val1");
	$rpt->addColumn("افزايش تبعي1", "normal_insure_inc");
	$rpt->addColumn("افزايش تبعي 1 جديد", "normal2_insure_inc");	
	$rpt->addColumn("افزايش تبعي2", "first_surplus_insure_inc");
	$rpt->addColumn("افزايش تبعي3", "second_surplus_insure_inc");
	$rpt->addColumn("جمع افزايش", "insure_inc_count");
	$rpt->addColumn("وضعيت استخدامي جديد", "emp_mode_desc2");
	$rpt->addColumn("'مبلغ جديد", "val2");
	$rpt->addColumn("كاهش تبعي1", "normal_insure_dec");
	$rpt->addColumn("كاهش تبعي 1 جدید", "normal2_insure_dec");
	$rpt->addColumn("كاهش تبعي2", "first_surplus_insure_dec");
	$rpt->addColumn("كاهش تبعي3", "second_surplus_insure_dec");
	$rpt->addColumn("جمع كاهش", "insure_dec_count");
	
	$rpt->excel = true;
	$rpt->generateReport();
	
	die();
}
Пример #9
0
             if (strpos($key, "To") === 0) {
                 $where .= " AND " . $prefix . substr($key, 2) . " <= :{$key}";
             } else {
                 $where .= " AND " . $prefix . $key . " = :{$key}";
             }
         }
         $whereParam[":{$key}"] = $value;
     }
 }
 //.....................................
 $where = "1=1";
 $whereParam = array();
 MakeWhere($where, $whereParam);
 $query = "select r.* , concat_ws(' ',fname,lname,CompanyName) fullname, sp.StepDesc,\r\n\t\t\t\tbf.InfoDesc TypeDesc,d.DocID, d.DocStatus \r\n\t\t\tfrom WAR_requests r \r\n\t\t\t\tleft join BSC_persons using(PersonID)\r\n\t\t\t\tleft join BaseInfo bf on(bf.TypeID=74 AND InfoID=r.TypeID)\r\n\t\t\t\tjoin WFM_FlowSteps sp on(sp.FlowID=" . FLOWID . " AND sp.StepID=r.StatusID)\r\n\t\t\t\tleft join ACC_DocItems on(SourceType='" . DOCTYPE_WARRENTY . "' \r\n\t\t\t\t\tAND SourceID=r.RequestID AND SourceID2=r.ReqVersion)\t\r\n\t\t\t\tleft join ACC_docs d using(DocID)\r\n\t\t\twhere " . $where . " group by r.RequestID";
 $dataTable = PdoDataAccess::runquery($query, $whereParam);
 $rpg = new ReportGenerator();
 $rpg->excel = !empty($_POST["excel"]);
 $rpg->mysql_resource = $dataTable;
 $rpg->addColumn("شماره تضمین", "RequestID");
 $rpg->addColumn("نوع تضمین", "TypeDesc");
 $rpg->addColumn("تاریخ شروع", "StartDate", "dateRender");
 $rpg->addColumn("تاریخ پایان", "EndDate", "dateRender");
 $rpg->addColumn("مبلغ", "amount", "moneyRender");
 $rpg->addColumn("مشتری", "fullname");
 $rpg->addColumn("سازمان مربوطه", "organization");
 $rpg->addColumn("کارمزد", "wage");
 $rpg->addColumn("شماره نامه معرفی", "LetterNo");
 $rpg->addColumn("تاریخ نامه معرفی", "LetterDate");
 if (!$rpg->excel) {
     echo '<META http-equiv=Content-Type content="text/html; charset=UTF-8" ><body dir="rtl">';
     echo "<div style=display:none>" . PdoDataAccess::GetLatestQueryString() . "</div>";
Пример #10
0
 public function fetchArray($sql)
 {
     $arrayDispList = NULL;
     if (!is_object(ReportGenerator::$dbCon) && !ReportGenerator::$dbCon instanceof DMLFunctions) {
         ReportGenerator::$dbCon = new DMLFunctions();
     }
     $message2 = ReportGenerator::$dbCon->executeQuery($sql);
     $i = 0;
     while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {
         for ($c = 0; count($this->field) * 2 > $c; $c += 2) {
             $arrayDispList[$line[0]][$c / 2][$line[$c]] = $line[$c + 1];
         }
         $i++;
     }
     return $arrayDispList;
 }
Пример #11
0
 function reDirect($getArr, $postArr, $object = null)
 {
     $form_creator = new FormCreator($getArr, $postArr);
     if ($_SESSION['isAdmin'] !== 'Yes') {
         trigger_error("Unauthorized access", E_USER_NOTICE);
     }
     switch ($getArr['repcode']) {
         case 'EMPDEF':
             //if ()
             $form_creator->formPath = '/templates/report/emprepinfo.php';
             $form_creator->popArr['arrAgeSim'] = array('Less Than' => '>', 'Greater Than' => '<', 'Range' => 'range');
             //$form_creator->popArr['arrEmpType']= array( 'Permanent', 'Expatriate', 'Contract', 'Temporary' , 'Others');
             $form_creator->popArr['arrSerPer'] = array('Less Than' => '>', 'Greater Than' => '<', 'Range' => 'range');
             $form_creator->popArr['arrJoiDat'] = array('Joined After' => '>', 'Joined Before' => '<', 'Joined In Between' => 'range');
             $report = new EmpReport();
             $empinfo = new EmpInfo();
             $edu = new Education();
             $jobtit = new JobTitle();
             $salgrd = new SalaryGrades();
             $empstat = new EmploymentStatus();
             $langObj = new LanguageInfo();
             $skillObj = new Skills();
             $form_creator->popArr['grdlist'] = $salgrd->getSalGrdCodes();
             $form_creator->popArr['edulist'] = $edu->getAllEducation();
             $form_creator->popArr['deslist'] = $jobtit->getJobTit();
             $form_creator->popArr['arrEmpType'] = $empstat->getEmpStat();
             $form_creator->popArr['languageList'] = $langObj->getLang();
             $form_creator->popArr['skillList'] = $skillObj->getSkillCodes();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $edit = $report->filterReport($getArr['id']);
                 $criteria_value = explode('|', $edit[0][2]);
                 for ($c = 0; count($criteria_value) > $c; $c++) {
                     $crit_data = explode("=", $criteria_value[$c]);
                     $criteriaChkBox[$c] = $crit_data[0];
                     for ($d = 1; count($crit_data) > $d; $d++) {
                         $crit_form_data[$crit_data[0]][$d - 1] = $crit_data[$d];
                     }
                 }
                 $form_creator->popArr['editCriteriaChk'] = $criteriaChkBox;
                 $form_creator->popArr['editCriteriaData'] = $crit_form_data;
                 $form_creator->popArr['fieldList'] = explode('|', $edit[0][3]);
             }
             if ($object != null) {
                 $form_creator->popArr['empqual'] = $empqual->getQualifications($object->TypeCode);
             }
             break;
         case 'EMPVIEW':
             $report = new EmpReport();
             $repgen = new ReportGenerator();
             $form_creator->popArr['editArr'] = $edit = $report->filterReport($getArr['id']);
             $repgen->repID = $edit[0][0];
             $repgen->repName = $edit[0][1];
             $criteria = explode('|', $edit[0][2]);
             for ($c = 0; count($criteria) > $c; $c++) {
                 $crit_value = explode("=", $criteria[$c]);
                 $repgen->criteria[$crit_value[0]] = '';
                 for ($d = 1; count($crit_value) > $d; $d++) {
                     if ($d == count($crit_value) - 1) {
                         $repgen->criteria[$crit_value[0]] .= $crit_value[$d];
                     } else {
                         $repgen->criteria[$crit_value[0]] .= $crit_value[$d] . "|";
                     }
                 }
             }
             $field = explode('|', $edit[0][3]);
             $empNoField = false;
             for ($c = 0; count($field) > $c; $c++) {
                 $repgen->field[$field[$c]] = 1;
                 if ($field[$c] == 'EMPNO') {
                     $empNoField = true;
                 }
             }
             $repgen->field['EMPNO'] = 1;
             $sqlQ = $repgen->reportQueryBuilder();
             //echo $sqlQ."<br/>";
             $dbConnection = new DMLFunctions();
             $message2 = $dbConnection->executeQuery($sqlQ);
             $i = 0;
             while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {
                 for ($c = 0; count($repgen->field) * 2 > $c; $c += 2) {
                     $arrayDispList[$line[0]][$c / 2][$line[$c]] = $line[$c + 1];
                 }
                 $i++;
             }
             //print_r($arrayDispList);
             if (!isset($arrayDispList)) {
                 $arrayDispList = null;
             }
             $repgen->reportDisplay($arrayDispList, $empNoField);
             return;
             break;
         case 'RUG':
             $form_creator->formPath = '/templates/report/repusg.php';
             $emprepgroup = new EmpRepUserGroup();
             $form_creator->popArr['repDet'] = $emprepgroup->getReportInfo();
             $form_creator->popArr['usgAll'] = $emprepgroup->getAllUserGroups();
             $form_creator->popArr['repUsgAss'] = $emprepgroup->getAssignedUserGroup($getArr['id']);
             $form_creator->popArr['usgUnAss'] = $emprepgroup->getUnAssUserGroups($getArr['id']);
             break;
     }
     $form_creator->display();
 }
Пример #12
0
<?php

//-----------------------------
//	Programmer	: SH.Jafarkhani
//	Date		: 94.06
//-----------------------------
require_once '../header.inc.php';
require_once "ReportGenerator.class.php";
if (isset($_REQUEST["show"])) {
    $rpg = new ReportGenerator();
    $rpg->excel = !empty($_POST["excel"]);
    function dateRender($row, $val)
    {
        return DateModules::miladi_to_shamsi($val);
    }
    function PrintDocRender($row, $val)
    {
        return "<a target=_blank href='../docs/print_doc.php?DocID=" . $row["DocID"] . "'>" . $val . "</a>";
    }
    $rpg->addColumn("شماره سند", "LocalNo", "PrintDocRender");
    //$rpg->addColumn("کد حساب", "CostCode");
    $rpg->addColumn("شرح حساب", "CostDesc");
    $rpg->addColumn("تفصیلی", "TafsiliDesc");
    $rpg->addColumn("تاریخ سند", "DocDate", "dateRender");
    $rpg->addColumn("شرح", "detail");
    function MakeWhere(&$where, &$whereParam, $ForRemain = false)
    {
        if (!isset($_REQUEST["IncludeRaw"])) {
            $where .= " AND d.DocStatus != 'RAW' ";
        }
        if (!empty($_REQUEST["BranchID"])) {
Пример #13
0
function showReport(){
	
	$levelsDescArr = array(
		"l1" => "کل",
		"l2" => "معین",
		"l3" => "جزء معین",
		"l4" => "گروه تفصیلی",
		"l5" => "گروه تفصیلی2",
		"l6" => "تفصیلی",
		"l7" => "تفصیلی2"
		);
	global $level;
	$level = empty($_REQUEST["level"]) ? "l1" : $_REQUEST["level"];
	
	$rpg = new ReportGenerator();
	$whereParam = array();
	$where = "";
	$group = "cc.level1";
	
	$select = "select 
		sum(di.DebtorAmount) bdAmount,
		sum(di.CreditorAmount) bsAmount,
		b1.BlockDesc level1Desc,
		b2.BlockDesc level2Desc,
		b3.BlockDesc level3Desc,
		b.InfoDesc TafsiliTypeDesc,
		t.TafsiliDesc TafsiliDesc,
		bi2.InfoDesc TafsiliTypeDesc2,
		t2.TafsiliDesc TafsiliDesc2,
		cc.level1,cc.level2,cc.level3,di.TafsiliType,di.TafsiliType2,di.TafsiliID,di.TafsiliID2,
		t.StartCycleDebtor,
		t.StartCycleCreditor
		";
	$from = " from ACC_DocItems di 
				join ACC_docs d using(DocID)
				join ACC_CostCodes cc using(CostID)
				join ACC_blocks b1 on(level1=b1.BlockID)
				left join ACC_blocks b2 on(level2=b2.BlockID)
				left join ACC_blocks b3 on(level3=b3.BlockID)
				left join BaseInfo b on(TypeID=2 AND di.TafsiliType=InfoID)
				left join ACC_tafsilis t using(TafsiliID)
				left join BaseInfo bi2 on(bi2.TypeID=2 AND di.TafsiliType2=bi2.InfoID)
				left join ACC_tafsilis t2 on(t2.TafsiliID=di.TafsiliID2)
				
				left join (
					select CycleID,CostID,sum(DebtorAmount) StartCycleDebtor, sum(CreditorAmount) StartCycleCreditor
					from ACC_DocItems join ACC_docs using(DocID)
					where DocType=1
					group by CostID
				)t on(d.CycleID=t.CycleID AND di.CostID=t.CostID)
	";
			
	if($level >= "l1")
		$rpg->addColumn("کل", "level1Desc",$level =="l1" ? "levelRender" : "");
	if($level >= "l2")
		$rpg->addColumn("معین", "level2Desc", $level =="l2" ? "levelRender" : "");
	if($level >= "l3")
		$rpg->addColumn("جزء معین", "level3Desc", $level =="l3" ? "levelRender" : "");
	if($level == "l4" || $level == "l6")
		$rpg->addColumn("گروه تفصیلی", "TafsiliTypeDesc", $level =="l4" ? "levelRender" : "");
	if($level == "l4" || $level == "l7")
		$rpg->addColumn("گروه تفصیلی2", "TafsiliTypeDesc2", $level == "l4" ? "levelRender2" : "");
	if($level == "l6")
		$rpg->addColumn("تفصیلی", "TafsiliDesc", "showDocs");
	if($level == "l7")
		$rpg->addColumn("تفصیلی2", "TafsiliDesc2", "showDocs2");
	
	switch($level)
	{
		case "l2" : $group .= ",cc.level2"; break;
		case "l3" : $group .= ",cc.level3";	break;
		case "l4" : $group .= ",di.TafsiliType"; break;
		case "l5" : $group .= ",di.TafsiliType2"; break;
		case "l6" : $group .= ",di.TafsiliID"; break;
		case "l7" : $group .= ",di.TafsiliID2"; break;
	}
	
	function levelRender($row, $value){
		
		global $level;
		
		if($value == "")
			$value = "-----";
		
		return "<a onclick=changeLevel('" . $level . "','".
				($level >= "l1" ? $row["level1"] : "") . "','" . 
				($level >= "l2" ? $row["level2"] : "") . "','" . 
				($level >= "l3" ? $row["level3"] : ""). "','" . 
				($level == "l4" ? $row["TafsiliType"] : ""). "','" . 
				($level == "l5" ? $row["TafsiliType2"] : ""). "') "." 
				href='javascript:void(0);'>" . $value . "</a>";
	}
	function levelRender2($row, $value){
		global $level;
		return "<a onclick=changeLevel('l5','".
				($level >= "l1" ? $row["level1"] : "") . "','" . 
				($level >= "l2" ? $row["level2"] : "") . "','" . 
				($level >= "l3" ? $row["level3"] : ""). "','" . 
				($level == "l4" ? $row["TafsiliType"] : ""). "','" . 
				($level == "l5" ? $row["TafsiliType2"] : ""). "') "." 
				href='javascript:void(0);'>" . $value . "</a>";
	}
	
	function showDocs($row, $value){
		if($value == "")
			$value = "-----";
		
		return "<a onclick=\"window.open('flow.php?show=true&taraz=true".
				"&level1=" . $row["level1"] . 
				"&level2=" . $row["level2"] . 
				"&level3=" . $row["level3"] . 
				"&TafsiliType=" . $row["TafsiliType"] . 
				"&TafsiliID=" . $row["TafsiliID"] .
				(!empty($_REQUEST["fromDate"]) ? "&fromDate=" . $_REQUEST["fromDate"] : "") . 
				(!empty($_REQUEST["toDate"]) ? "&toDate=" . $_REQUEST["toDate"] : "") .
				(!empty($_REQUEST["fromLocalNo"]) ? "&fromLocalNo=" . $_REQUEST["fromLocalNo"] : "") . 
				(!empty($_REQUEST["toLocalNo"]) ? "&toLocalNo=" . $_REQUEST["toLocalNo"] : "") .
				(!empty($_REQUEST["BranchID"]) ? "&BranchID=" . $_REQUEST["BranchID"] : "") .
				(!empty($_REQUEST["IncludeRaw"]) ? "&IncludeRaw=1" : "") .
				"');\" href=javascript:void(0)>" . $value . "</a>";
	}
	function showDocs2($row, $value){
		if($value == "")
			$value = "-----";
		
		return "<a onclick=\"window.open('flow.php?taraz=true&show=true&taraz=true".
				"&level1=" . $row["level1"] . 
				"&level2=" . $row["level2"] . 
				"&level3=" . $row["level3"] . 
				"&TafsiliID2=" . $row["TafsiliID2"] .
				(!empty($_POST["fromDate"]) ? "&fromDate=" . $_POST["fromDate"] : "") . 
				(!empty($_POST["toDate"]) ? "&toDate=" . $_POST["toDate"] : "") .
				(!empty($_REQUEST["BranchID"]) ? "&BranchID=" . $_REQUEST["BranchID"] : "") .
				(!empty($_REQUEST["IncludeRaw"]) ? "&IncludeRaw=1" : "") .
				"');\" href=javascript:void(0)>" . $value . "</a>";
	}
	
	function MakeWhere(&$where, &$whereParam){

		if(!isset($_REQUEST["IncludeRaw"]))
		{
			$where .= " AND d.DocStatus != 'RAW'";
		}
		if(isset($_REQUEST["level1"]))
		{
			if($_REQUEST["level1"] == "")
				$where .= " AND cc.level1 is null";
			else
			{
				$where .= " AND cc.level1=:l1";
				$whereParam[":l1"] = $_REQUEST["level1"];
			}
		}
		if(isset($_REQUEST["level2"]))
		{
			if($_REQUEST["level2"] == "")
				$where .= " AND cc.level2 is null";
			else
			{
				$where .= " AND cc.level2=:l2";
				$whereParam[":l2"] = $_REQUEST["level2"];
			}
		}
		if(isset($_REQUEST["level3"]))
		{
			if($_REQUEST["level3"] == "")
				$where .= " AND cc.level3 is null";
			else
			{
				$where .= " AND cc.level3=:l3";
				$whereParam[":l3"] = $_REQUEST["level3"];
			}
		}
		if(isset($_REQUEST["tafsiligroup"]))
		{
			if($_REQUEST["tafsiligroup"] == "")
				$where .= " AND di.TafsiliType is null";
			else
			{
				$where .= " AND di.TafsiliType=:tt";
				$whereParam[":tt"] = $_REQUEST["tafsiligroup"];
			}
		}
		//..............................................
		if(!empty($_POST["level1s"]))
		{
			$level1s = preg_replace("/[^0-9,]+/", "", $_POST["level1s"]);
            $where .= " AND cc.level1 in( " . $level1s . ")";
		}
		//----------------------------------------------
		if(!empty($_POST["level2s"]))
		{
			$level2s = preg_replace("/[^0-9,]+/", "", $_POST["level2s"]);
			$level2s = substr($level2s, 0, strlen($level2s)-1);
            $where .= " AND cc.level2 in( " . $level2s . ")";
		}
		//----------------------------------------------
		if(!empty($_POST["level3s"]))
		{
			$level3s = preg_replace("/[^0-9,]+/", "", $_POST["level3s"]);
			$level3s = substr($level3s, 0, strlen($level3s)-1);
            $where .= " AND cc.level3 in( " . $level3s . ")";
		}
		//----------------------------------------------
		if(!empty($_POST["TafsiliGroup"]))
		{
			$where .= " AND (di.TafsiliType=:tt or di.TafsiliType2=:tt)";
			$whereParam[":tt"] = $_POST["TafsiliGroup"];
		}
		/*if(!empty($_POST["TafsiliGroup2"]))
		{
			$where .= " AND di.TafsiliType2=:tt2";
			$whereParam[":tt2"] = $_POST["TafsiliGroup2"];
		}*/
		if(!empty($_POST["TafsiliID"]))
		{
			$where .= " AND (di.TafsiliID=:tid or di.TafsiliID2=:tid)";
			$whereParam[":tid"] = $_POST["TafsiliID"];
		}
		/*if(!empty($_POST["TafsiliID2"]))
		{
			$where .= " AND di.TafsiliID2=:tid2";
			$whereParam[":tid2"] = $_POST["TafsiliID2"];
		}*/
		if(!empty($_REQUEST["fromLocalNo"]))
		{
			$where .= " AND d.LocalNo >= :lo1 ";
			$whereParam[":lo1"] = $_REQUEST["fromLocalNo"];
		}
		if(!empty($_REQUEST["toLocalNo"]))
		{
			$where .= " AND d.LocalNo <= :lo2 ";
			$whereParam[":lo2"] = $_REQUEST["toLocalNo"];
		}
		if(!empty($_POST["fromDate"]))
		{
			$where .= " AND d.DocDate >= :q1 ";
			$whereParam[":q1"] = DateModules::shamsi_to_miladi($_POST["fromDate"], "-");
		}
		if(!empty($_POST["toDate"]))
		{
			$where .= " AND d.DocDate <= :q2 ";
			$whereParam[":q2"] = DateModules::shamsi_to_miladi($_POST["toDate"], "-");
		}
	}
		
	$where = "";
	$whereParam = array();
	
	if(!empty($_POST["BranchID"]))
	{
		$where .= " AND d.BranchID=:b";
		$whereParam[":b"] = $_POST["BranchID"];
	}	
	
	MakeWhere($where, $whereParam);
	
	$query = $select . $from . " where 
		d.CycleID=" . $_SESSION["accounting"]["CycleID"] . $where;
	$query .= $group != "" ? " group by " . $group : "";
		
	$query .= " order by b1.BlockCode,b2.BlockCode,b3.BlockCode";

	$dataTable = PdoDataAccess::runquery($query, $whereParam);
	
	//..........................................................................
		
	function dateRender($row, $val){
		return DateModules::miladi_to_shamsi($val);
	}	
	
	function moneyRender($row, $val) {
		return number_format($val, 0, '.', ',');
	}

	function bdremainRender($row){
		$v = $row["bdAmount"] - $row["bsAmount"];
		return $v < 0 ? 0 : number_format($v);
	}
	
	function bsremainRender($row){
		$v = $row["bsAmount"] - $row["bdAmount"];
		return $v < 0 ? 0 : number_format($v);
	}
	
	$col = $rpg->addColumn("بدهکار", "StartCycleDebtor", "moneyRender");
	$col->GroupHeader = "حساب ابتدای دوره";
	$col->EnableSummary(true);
	$col = $rpg->addColumn("بستانکار", "StartCycleCreditor", "moneyRender");
	$col->GroupHeader = "حساب ابتدای دوره";
	$col->EnableSummary(true);
	
	$col = $rpg->addColumn("بدهکار", "bdAmount" , "moneyRender");
	$col->GroupHeader = "گردش طی دوره";
	$col->EnableSummary();
	$col = $rpg->addColumn("بستانکار", "bsAmount", "moneyRender");
	$col->GroupHeader = "گردش طی دوره";
	$col->EnableSummary();

	$col = $rpg->addColumn("مانده بدهکار", "bdAmount", "bdremainRender");
	$col->GroupHeader = "مانده پایان دوره";
	$col->EnableSummary(true);
	$col = $rpg->addColumn("مانده بستانکار", "bsAmount", "bsremainRender");
	$col->GroupHeader = "مانده پایان دوره";
	$col->EnableSummary(true);

	if(!$rpg->excel)
	{
		BeginReport();
		echo "<div style=display:none>" . PdoDataAccess::GetLatestQueryString() . "</div>";
		echo "<table style='border:2px groove #9BB1CD;border-collapse:collapse;width:100%'><tr>
				<td width=60px><img src='/framework/icons/logo.jpg' style='width:120px'></td>
				<td align='center' style='height:100px;vertical-align:middle;font-family:b titr;font-size:15px'>
					تراز دفتر 
				".$levelsDescArr[$level]." <br> ".
				 $_SESSION["accounting"]["BranchName"]. "<br>" . "دوره سال " .
				$_SESSION["accounting"]["CycleID"] .
				"</td>
				<td width='200px' align='center' style='font-family:tahoma;font-size:11px'>تاریخ تهیه گزارش : " 
			. DateModules::shNow() . "<br>";
		if(!empty($_POST["fromDate"]))
		{
			echo "<br>گزارش از تاریخ : " . $_POST["fromDate"] . ($_POST["toDate"] != "" ? " - " . $_POST["toDate"] : "");
		}
		echo "</td></tr></table>";
	}
	
	$rpg->mysql_resource = $dataTable;
	$rpg->generateReport();
	
	?>
	<script>
		function changeLevel(curlevel,level1,level2,level3,TafsiliGroup,TafsiliID)
		{
			nextLevel = (curlevel.substring(1)*1);
			nextLevel = (nextLevel == 4 || nextLevel == 5) ? nextLevel+2 : nextLevel+1
				
			var form = document.getElementById("subForm");
			form.action = "taraz.php?show=true&level=" + "l" + nextLevel;
			
			if(curlevel >= "l1")
				form.action += "&level1=" + level1;
			if(curlevel >= "l2")
				form.action += "&level2=" + level2;
			if(curlevel >= "l3")
				form.action += "&level3=" + level3;
			if(curlevel >= "l4")
				form.action += "&tafsiligroup=" + TafsiliGroup;
			if(curlevel >= "l5")
				form.action += "&TafsiliID=" + TafsiliID;
			
			form.submit();
			return;
		}
	</script>
<form id="subForm" method="POST" target="_blank">
	
	<input type="hidden" name="fromDate" value="<?= !empty($_REQUEST["fromDate"]) ? $_REQUEST["fromDate"] : "" ?>">
	<input type="hidden" name="toDate" value="<?= !empty($_REQUEST["toDate"]) ? $_REQUEST["toDate"] : "" ?>">
	<input type="hidden" name="fromLocalNo" value="<?= !empty($_REQUEST["fromLocalNo"]) ? $_REQUEST["fromLocalNo"] : "" ?>">
	<input type="hidden" name="toLocalNo" value="<?= !empty($_REQUEST["toLocalNo"]) ? $_REQUEST["toLocalNo"] : "" ?>">
	<input type="hidden" name="IncludeRaw" value="<?= !empty($_REQUEST["IncludeRaw"]) ? $_REQUEST["IncludeRaw"] : "" ?>">
	<input type="hidden" name="BranchID" value="<?= !empty($_REQUEST["BranchID"]) ? $_REQUEST["BranchID"] : "" ?>">
	
	<input type="hidden" name="level1s" id="level1s" value="<?= $_POST["level1s"] ?>">
	<input type="hidden" name="level2s" id="level2s" value="<?= $_POST["level2s"] ?>">
	<input type="hidden" name="level3s" id="level3s" value="<?= $_POST["level3s"] ?>">
</form>
	<?
	die();
}
Пример #14
0
     $whereParam[":q8"] = DateModules::shamsi_to_miladi($_POST["to_regDate"], "-");
 }
 if (!empty($_POST["description"])) {
     $query .= " AND d.description like :q9 ";
     $whereParam[":q9"] = '%' . $_POST["description"] . "%";
 }
 if (!empty($_POST["details"])) {
     $query .= " AND di.details like :q10 ";
     $whereParam[":q10"] = '%' . $_POST["details"] . "%";
 }
 if (!isset($_REQUEST["IncludeRaw"])) {
     $query .= " AND d.DocStatus != 'RAW' ";
 }
 $query .= " group by DocID order by DocDate";
 $dataTable = PdoDataAccess::runquery($query, $whereParam);
 $rpg = new ReportGenerator();
 $rpg->excel = !empty($_POST["excel"]);
 function dateRender($row, $val)
 {
     return DateModules::miladi_to_shamsi($val);
 }
 function moneyRender($row, $val)
 {
     return number_format($val);
 }
 function PrintDocRender($row, $val)
 {
     return "<a target=_blank href='../docs/print_doc.php?DocID=" . $row["DocID"] . "'>" . $val . "</a>";
 }
 $rpg->addColumn("شماره سند", "LocalNo", "PrintDocRender");
 $rpg->addColumn("تاریخ سند", "DocDate", "dateRender");
Пример #15
0
 {
     return DateModules::miladi_to_shamsi($value);
 }
 function dateRender2($row, $val)
 {
     return DateModules::miladi_to_shamsi($val);
 }
 function moneyRender($row, $val)
 {
     return number_format($val, 0, '.', ',');
 }
 function durationRender($row)
 {
     return (string) ((int) substr($row["toDate"], 5, 2) - (int) substr($row["fromDate"], 5, 2) + 1);
 }
 $rpg = new ReportGenerator();
 $rpg->excel = !empty($_POST["excel"]);
 $rpg->addColumn("شماره سند", "docID");
 $rpg->addColumn("تاریخ سند", "docDate", "dateRender");
 $rpg->addColumn("شماره چک", "checkNo");
 $rpg->addColumn("بانک", "bankTitle");
 $rpg->addColumn("شماره حساب", "accountNo");
 $rpg->addColumn("تاریخ چک", "checkDate", "dateRender");
 $rpg->addColumn("وضعیت چک", "checkTitle");
 $col = $rpg->addColumn("مبلغ", "amount");
 $col->EnableSummary();
 $rpg->addColumn("تفصیلی گیرنده", "tafsiliTitle");
 $rpg->mysql_resource = $dataTable;
 if (!$rpg->excel) {
     echo '<META http-equiv=Content-Type content="text/html; charset=UTF-8" ><body dir="rtl">';
     echo "<table style='border:2px groove #9BB1CD;border-collapse:collapse;width:100%'><tr>\r\n\t\t\t\t<td width=60px><img src='/framework/icons/logo.jpg' style='width:120px'></td>\r\n\t\t\t\t<td align='center' style='font-family:b titr;font-size:15px'>اعتماد شما سرلوحه خدمت ماست<br>\r\n\t\t\t\t\tگزارش چک ها\r\n\t\t\t\t\t";
Пример #16
0
         $whereParam[":{$key}"] = $value;
     }
 }
 //.....................................
 $where = "";
 $whereParam = array();
 MakeWhere($where, $whereParam);
 $query = "select r.*,l.*,p.*,\r\n\t\t\t\tconcat_ws(' ',p1.fname,p1.lname,p1.CompanyName) ReqFullname,\r\n\t\t\t\tconcat_ws(' ',p2.fname,p2.lname,p2.CompanyName) LoanFullname,\r\n\t\t\t\tbi.InfoDesc StatusDesc,\r\n\t\t\t\tBranchName,\r\n\t\t\t\tTotalPayAmount,\r\n\t\t\t\tTotalInstallmentAmount\r\n\t\t\t\t\r\n\t\t\tfrom LON_requests r\r\n\t\t\tjoin LON_ReqParts p on(r.RequestID=p.RequestID AND p.IsHistory='NO')\r\n\t\t\tleft join LON_loans l using(LoanID)\r\n\t\t\tjoin BSC_branches using(BranchID)\r\n\t\t\tleft join BaseInfo bi on(bi.TypeID=5 AND bi.InfoID=StatusID)\r\n\t\t\tleft join BSC_persons p1 on(p1.PersonID=r.ReqPersonID)\r\n\t\t\tleft join BSC_persons p2 on(p2.PersonID=r.LoanPersonID)\r\n\t\t\tleft join (\r\n\t\t\t\tselect RequestID,sum(PayAmount) TotalPayAmount from LON_BackPays\r\n\t\t\t\tgroup by RequestID\t\t\t\r\n\t\t\t)t1 on(r.RequestID=t1.RequestID)\r\n\t\t\tleft join (\r\n\t\t\t\tselect RequestID,sum(InstallmentAmount) TotalInstallmentAmount \r\n\t\t\t\tfrom LON_installments\r\n\t\t\t\tgroup by RequestID\t\t\t\r\n\t\t\t)t2 on(r.RequestID=t2.RequestID)\r\n\t\t\twhere 1=1 " . $where . " \r\n\t\t\t\r\n\t\t\tgroup by r.RequestID\r\n\t\t\torder by " . $_POST["OrderBy"] . " " . $_POST["OrderByDirection"];
 $dataTable = PdoDataAccess::runquery($query, $whereParam);
 $query = PdoDataAccess::GetLatestQueryString();
 for ($i = 0; $i < count($dataTable); $i++) {
     $dt = array();
     $returnArr = ComputePayments($dataTable[$i]["RequestID"], $dt);
     $dataTable[$i]["remainder"] = count($returnArr) > 0 ? $returnArr[count($returnArr) - 1]["TotalRemainder"] : 0;
 }
 $rpg = new ReportGenerator();
 $rpg->excel = !empty($_POST["excel"]);
 $rpg->mysql_resource = $dataTable;
 function endedRender($row, $value)
 {
     return $value == "YES" ? "خاتمه" : "جاری";
 }
 $rpg->addColumn("شماره وام", "RequestID");
 $rpg->addColumn("نوع وام", "LoanDesc");
 $rpg->addColumn("معرفی کننده", "ReqFullname");
 $rpg->addColumn("تاریخ درخواست", "ReqDate", "dateRender");
 $rpg->addColumn("مبلغ درخواست", "ReqAmount", "moneyRender");
 $rpg->addColumn("مشتری", "LoanFullname");
 $rpg->addColumn("شعبه", "BranchName");
 $rpg->addColumn("تاریخ پرداخت", "PartDate", "dateRender");
 $rpg->addColumn("مبلغ پرداخت", "PartAmount", "moneyRender");
Пример #17
0
function ShowReport()
{
    $query = "SELECT c.*,concat_ws(' ',p1.fname,p1.lname,p1.CompanyName) fullname,\r\n\t\t\tconcat_ws(' ',p2.fname,p2.lname,p2.CompanyName)fullname2,bf.InfoDesc ContractTypeDesc \r\n\t\tFROM CNT_contracts c \r\n\t\t\tjoin BaseInfo bf on(bf.TypeID=18 AND bf.InfoID=ContractType)\r\n\t\t\tleft join CNT_ContractItems ci using(ContractID)\r\n\t\t\tleft join BSC_persons p1 on(c.PersonID=p1.PersonID)\r\n\t\t\tleft join BSC_persons p2 on(c.PersonID2=p2.PersonID)\r\n\t\twhere 1=1\r\n\t";
    $params = array();
    $index = 0;
    $itemsWhere = "1=0 ";
    $keys = array_keys($_POST);
    foreach ($keys as $key) {
        if (empty($_POST[$key])) {
            continue;
        }
        switch ($key) {
            case "TemplateID":
            case "ContractType":
            case "PersonID":
            case "PersonID2":
                $query .= " AND c." . $key . "=:p" . $index;
                $params[":p" . $index++] = $_POST[$key];
                break;
            case "FromContractAmount":
            case "FromStartDate":
            case "FromEndDate":
                $query .= " AND c." . $key . " <= :p" . $index;
                $params[":p" . $index++] = $_POST[$key];
                break;
            case "ToContractAmount":
            case "ToStartDate":
            case "ToEndDate":
                $query .= " AND c." . $key . " >= :p" . $index;
                $params[":p" . $index++] = $_POST[$key];
                break;
            case "description":
                $query .= " AND c." . $key . " like :p" . $index;
                $params[":p" . $index++] = "%" . $_POST[$key] . "%";
                break;
            default:
                if (strpos($key, "TplItem_") !== false) {
                    $key = substr($key, 8);
                    $itemsWhere .= " OR if(ci.TemplateItemID=" . $key . ",ItemValue like :p" . $index . ",1=0)";
                    $params[":p" . $index++] = "%" . $_POST["TplItem_" . $key] . "%";
                }
        }
    }
    $data = PdoDataAccess::runquery($query . " AND ({$itemsWhere})" . " group by c.ContractID", $params);
    //echo PdoDataAccess::GetLatestQueryString();
    $rpg = new ReportGenerator();
    $rpg->excel = !empty($_POST["excel"]);
    $rpg->mysql_resource = $data;
    function dateRender($row, $val)
    {
        return DateModules::miladi_to_shamsi($val);
    }
    function moneyRender($row, $value)
    {
        return number_format($value);
    }
    function ContractRender($row, $value)
    {
        return "<a target=blank href=../contract/PrintContract.php?ContractID=" . $value . ">" . $value . "</a>";
    }
    $rpg->addColumn("شماره قرارداد", "ContractID", "ContractRender");
    $rpg->addColumn("تاریخ شروع", "StartDate", "dateRender");
    $rpg->addColumn("تاریخ پایان", "EndDate", "dateRender");
    $rpg->addColumn("نوع قرارداد", "ContractTypeDesc");
    $rpg->addColumn("طرف اول قرارداد", "fullname");
    $rpg->addColumn("طرف دوم قرارداد", "fullname2");
    $rpg->addColumn("مبلغ قرارداد", "ContractAmount", "moneyRender");
    if (!$rpg->excel) {
        echo '<META http-equiv=Content-Type content="text/html; charset=UTF-8" ><body dir="rtl">';
        echo "<table style='border:2px groove #9BB1CD;border-collapse:collapse;width:100%'><tr>\r\n\t\t\t\t<td width=60px><img src='/framework/icons/logo.jpg' style='width:120px'></td>\r\n\t\t\t\t<td align='center' style='height:100px;vertical-align:middle;font-family:b titr;font-size:15px'>\r\n\t\t\t\t\tگزارش قرارداد ها\r\n\t\t\t\t</td>\r\n\t\t\t\t<td width='200px' align='center' style='font-family:tahoma;font-size:11px'>تاریخ تهیه گزارش : " . DateModules::shNow() . "<br>";
        echo "</td></tr></table>";
    }
    $rpg->generateReport();
    die;
    die;
}
Пример #18
0
if (count($temp) > 0) {
    $rpt = new ReportGenerator();
    $rpt->mysql_resource = $temp;
    $rpt->headerContent = "\r\n\t\t<table id=header width=100%>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=45%>کد وام : <b>" . $ReqObj->RequestID . "</b>\r\n\t\t\t\t\t<br>نوع وام : <b>" . $ReqObj->_LoanDesc . "</b>\r\n\t\t\t\t\t<br>وام گیرنده : <b>" . $ReqObj->_LoanPersonFullname . "</b>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td width=20% style='font-family:titr'>اسناد ضمانتی</td>\r\n\t\t\t\t<td width=45% align=left>تاریخ صدور قبض : <b>" . DateModules::shNow() . "</b></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t";
    $rpt->addColumn("نوع ضمانت", "DocTypeDesc");
    $rpt->addColumn("اطلاعات ضمانت", "paramValues");
}
//..............................................................................
$dt = PdoDataAccess::runquery("\r\n\tselect p.*,i.*,\r\n\t\t\tb.BankDesc, \r\n\t\t\tbi.InfoDesc PayTypeDesc, \r\n\t\t\tt.TafsiliDesc ChequeStatusDesc\r\n\t\t\t\r\n\t\tfrom LON_BackPays p\r\n\t\tleft join BaseInfo bi on(bi.TypeID=6 AND bi.InfoID=p.PayType)\r\n\t\tleft join ACC_IncomeCheques i using(IncomeChequeID)\r\n\t\tleft join ACC_banks b on(ChequeBank=BankID)\r\n\t\tleft join ACC_tafsilis t on(t.TafsiliType=" . TAFTYPE_ChequeStatus . " AND t.TafsiliID=i.ChequeStatus)\r\n\twhere p.RequestID=? AND PayType=9", array($ReqObj->RequestID));
//print_r(ExceptionHandler::PopAllExceptions());
$SumCheques = 0;
foreach ($dt as $row) {
    $SumCheques += $row["PayAmount"] * 1;
}
if (count($dt) > 0) {
    $rpt2 = new ReportGenerator();
    $rpt2->mysql_resource = $dt;
    $rpt2->headerContent = "\r\n\t\t<table id=header width=100%>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=45%></td>\r\n\t\t\t\t<td width=20% style='font-family:titr'>چک های اقساط</td>\r\n\t\t\t\t<td width=45% align=left>تاریخ صدور قبض : <b>" . DateModules::shNow() . "</b></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t";
    function dateRender($row, $value)
    {
        return DateModules::miladi_to_shamsi($value);
    }
    function amountRender($row, $value)
    {
        return number_format($value);
    }
    $rpt2->addColumn("تاریخ چک", "PayDate", "dateRender");
    $rpt2->addColumn("نام بانک", "BankDesc");
    $rpt2->addColumn("شعبه", "ChequeBranch");
    $rpt2->addColumn("شماره چک", "ChequeNo");
    $rpt2->addColumn("مبلغ چک", "PayAmount", "amountRender");
Пример #19
0
<?php

/**
 * Code coverage HTML report generator.
 *
 * This file is part of the Nette Tester.
 */
require __DIR__ . '/CodeCoverage/ReportGenerator.php';
require __DIR__ . '/Runner/CommandLine.php';
use Tester\Runner\CommandLine as Cmd;
$cmd = new Cmd("\nCode coverage HTML report generator\n-----------------------------------\n\nUsage:\n\tphp coverage-report.php [options]\n\nOptions:\n\t-c <path>    coverage.dat file (default: coverage.dat)\n\t-s <path>    directory with source code\n\t-o <path>    output file (default: coverage.html)\n\t-t <title>   title of generated documentation\n\t-h | --help  this help\n\n", array('-c' => array(Cmd::REALPATH), '-s' => array(Cmd::REALPATH)));
$options = $cmd->parse();
if ($cmd->isEmpty()) {
    $cmd->help();
} elseif ($options['--help']) {
    $cmd->help();
    exit;
}
try {
    $generator = new ReportGenerator($options['-c'], $options['-s'], $options['-t']);
    if ($options['-o'] === '-') {
        $generator->render();
    } else {
        echo "Generating report to {$options['-o']}\n";
        $generator->render($options['-o']);
        echo "Done.\n";
    }
} catch (Exception $e) {
    echo "Error: {$e->getMessage()}\n";
    die(254);
}
Пример #20
0
<?php

//--------------------------
// developer:	Jafarkhani
// Date:        94.06
//--------------------------
require_once '../header.inc.php';
require_once 'baseinfo.class.php';
require_once '../global/ManageReport.class.php';
require_once inc_reportGenerator;
Manage_Report::BeginReport();
echo "<br><br>";
$dataTable = ACC_CostCodes::SelectCost(" 1=1 order by Costcode");
$rpg = new ReportGenerator();
$rpg->addColumn("کد حساب", "CostCode");
$rpg->addColumn("گروه حساب", "LevelTitle0");
$rpg->addColumn("حساب کل", "LevelTitle1");
$rpg->addColumn("معین", "LevelTitle2");
$rpg->addColumn("جزء معین", "LevelTitle3");
$rpg->mysql_resource = $dataTable;
$rpg->generateReport();
die;
Пример #21
0
 {
     return DateModules::miladi_to_shamsi($value);
 }
 function dateRender2($row, $val)
 {
     return DateModules::miladi_to_shamsi($val);
 }
 function moneyRender($row, $val)
 {
     return number_format($val, 0, '.', ',');
 }
 function durationRender($row)
 {
     return (string) ((int) substr($row["toDate"], 5, 2) - (int) substr($row["fromDate"], 5, 2) + 1);
 }
 $rpg = new ReportGenerator();
 $rpg->excel = !empty($_POST["excel"]);
 $rpg->addColumn("وام گیرنده", "fullname");
 $rpg->addColumn("تاریخ وام", "PartDate", "dateRender");
 $rpg->addColumn("شماره چک", "ChequeNo");
 $rpg->addColumn("بانک", "BankDesc");
 $rpg->addColumn("شعبه", "ChequeBranch");
 $rpg->addColumn("تاریخ چک", "PayDate", "dateRender");
 $rpg->addColumn("وضعیت چک", "ChequeStatusDesc");
 $col = $rpg->addColumn("مبلغ چک", "PayAmount", "moneyRender");
 $col->EnableSummary();
 //echo PdoDataAccess::GetLatestQueryString();
 $rpg->mysql_resource = $dataTable;
 if (!$rpg->excel) {
     echo '<META http-equiv=Content-Type content="text/html; charset=UTF-8" ><body dir="rtl">';
     echo "<table style='border:2px groove #9BB1CD;border-collapse:collapse;width:100%'><tr>\r\n\t\t\t\t<td width=60px><img src='/framework/icons/logo.jpg' style='width:120px'></td>\r\n\t\t\t\t<td align='center' style='font-family:b titr;font-size:15px'>اعتماد شما سرلوحه خدمت ماست<br>\r\n\t\t\t\t\tگزارش چک های دریافتی\r\n\t\t\t\t\t";
Пример #22
0
 if (!empty($_POST["sexVal"])) {
     $where .= " AND  bs.sex = :sex";
     $param[":sex"] = $_POST["sexVal"];
 }
 if (!empty($_POST["status"]) || $_POST["status"] == 0) {
     $where .= " AND  bs.status = :status";
     $param[":status"] = $_POST["status"];
 }
 $query = " select bs.* , p.pfname PFName , p.plname LFName  , bi1.title ptype , \r\n                     concat(o3.ptitle ,' - ', o4.ptitle ) FullUnitTitle , w.ouid ,\r\n p.mobile_phone,bs.CFName CFName, bs.CLName CLName,  \r\n   case bs.sex when 1 then 'دختر' when 2 then 'پسر' end sexTitle ,\r\n   bi2.title EducLevelTitle,bi3.title EducBaseTitle, bs.grade \r\n                          \r\n\t\t\t              from hrmstotal.BestStudent bs inner join persons p on bs.PersonID = p.PersonID \r\n                                                 inner join hrmstotal.staff s on s.personID = p.PersonID and s.Person_type = p.Person_type\r\n                                                 inner join  hrmstotal.Basic_Info bi1 on bi1.TypeID = 16 and bi1.InfoID = p.person_type\r\n                    left join hrmstotal.org_new_units o3 on  o3.ouid = s.UnitCode\r\n                    left join hrmstotal.org_new_units o4 on o4.ouid = s.ouid \r\n    INNER JOIN writs w ON (s.staff_id = w.staff_id AND s.last_writ_id  = w.writ_id AND s.last_writ_ver  = w.writ_ver )\r\n    LEFT  JOIN org_new_units o ON (o.ouid = w.ouid)\r\n    LEFT  JOIN org_new_units parentu ON (parentu.ouid = o.parent_ouid)\r\n                                                 inner join hrmstotal.Basic_Info bi2 on bi2.typeid = 58 and bi2.InfoID =  bs.EducLevel\r\n                                                 left join hrmstotal.Basic_Info bi3 on bi3.typeid = 59 and bi3.InfoID =  bs.EducBase and bi3.MasterID = bi2.InfoID {$where} ";
 $query .= " order by bs.sex ,bs.EducLevel ,bs.EducBase , bs.CLName  ";
 $dataTable = PdoDataAccess::runquery_fetchMode($query, $param);
 if ($_SESSION["UserID"] == "bmahdipour") {
     /*echo(PdoDataAccess::GetLatestQueryString());
      die();   */
 }
 $rpg = new ReportGenerator();
 $rpg->excel = !empty($_POST["excel"]);
 //$rpg->excel = true;
 $rpg->mysql_resource = $dataTable;
 $rpg->paging = true;
 $rpg->rowNumber = true;
 $rpg->page_size = $MaxCountTable;
 if (!$rpg->excel) {
     Manage_Report::BeginReport();
     $rpg->headerContent = Manage_Report::MakeHeader($title, $_POST["from_date"], $_POST["to_date"], "", true);
 }
 function Remove1Render($row, $val)
 {
     $BSID = $row["BSID"];
     $extension = $row["PicFileType"];
     //$t="<img src='/mystorage/BestStuDocument/PicDoc/".$BSID.".".$extension."'>";
Пример #23
0
    $TotalShare += $row["shareCount"] * 1;
}
function moneyRender($row, $val)
{
    return number_format($val, 0, '.', ',');
}
function IsGovermentalRender($row, $val)
{
    return $val == "YES" ? "دولتی" : "خصوصی";
}
function PercentRender($row, $val)
{
    global $TotalShare;
    return round($val * 100 / $TotalShare, 2) . "%";
}
$rpg = new ReportGenerator();
$rpg->excel = !empty($_POST["excel"]);
$rpg->addColumn("سهامدار", "TafsiliDesc");
$rpg->addColumn("شماره دفتر", "ShareNo");
$rpg->addColumn("بخش دولتی/خصوصی", "IsGovermental", "IsGovermentalRender");
$col = $rpg->addColumn("تعداد سهام", "shareCount");
$col->align = "center";
$col->EnableSummary();
$col = $rpg->addColumn("درصد سهم", "shareCount", "PercentRender");
$col->align = "center";
$col->EnableSummary(true);
$col = $rpg->addColumn("ارزش سهام", "amount", "moneyRender");
$col->align = "center";
$col->EnableSummary();
$rpg->mysql_resource = $dataTable;
$percentGovermental = array(0, 0);
Пример #24
0
    {
        return number_format($value);
    }
    $rpg->addColumn("وام گیرنده", "LoanPersonName");
    $rpg->addColumn("سررسید", "InstallmentDate", "DateRender");
    $rpg->addColumn("مبلغ قسط", "InstallmentAmount", "MoneyRender");
    $rpg->addColumn("مانده", "remainder", "MoneyRender");
    echo '<META http-equiv=Content-Type content="text/html; charset=UTF-8" ><body dir="rtl">';
    echo "<table style='border:2px groove #9BB1CD;border-collapse:collapse;width:100%'><tr>\r\n\t\t\t<td width=60px><img src='/framework/icons/logo.jpg' style='width:120px'></td>\r\n\t\t\t<td align='center' style='height:100px;vertical-align:middle;font-family:b titr;font-size:15px'>\r\n\t\t\t\tگزارش اقساط معوق\r\n\t\t\t</td>\r\n\t\t\t<td width='200px' align='center' style='font-family:tahoma;font-size:11px'>تاریخ تهیه گزارش : " . DateModules::shNow() . "<br>";
    echo "</td></tr></table>";
    $rpg->generateReport();
    die;
}
if (!empty($_REQUEST["NTC_EXCEL"])) {
    $data = GetDelayedInstallments(true);
    $rpt = new ReportGenerator();
    $rpt->rowNumber = false;
    $rpt->excel = true;
    $rpt->mysql_resource = $data;
    $rpt->addColumn("PID", "LoanPersonID");
    $rpt->addColumn("کد وام", "RequestID");
    $rpt->addColumn("وام گیرنده", "LoanPersonName");
    $rpt->addColumn("سررسید", "InstallmentDate");
    $rpt->addColumn("تاخیر", "ForfeitDays");
    $rpt->addColumn("مبلغ قسط", "InstallmentAmount");
    $rpt->addColumn("قابل پرداخت", "remainder");
    $rpt->generateReport();
    die;
}
$dg = new sadaf_datagrid("dg", $js_prefix_address . "../request/request.data.php?task=GetDelayedInstallments", "grid_div");
$dg->addColumn("", "PartID", "", true);
Пример #25
0
function GetWorkTimeExcel(){
	
	$param = array();
		
	MakeWhere($where, $param);
			
	$rpt = new ReportGenerator();	
	$rpt->mysql_resource = PrepareData();
		
	$rpt->addColumn("شماره شناسایی", "staff_id");
	$rpt->addColumn("نام خانوادگي", "plname");
	$rpt->addColumn("نام", "pfname");
        $rpt->addColumn("واحد اصلی محل خدمت", "unit_title");
        $rpt->addColumn("واحد فرعی محل خدمت", "sub_unit_title");
	$rpt->addColumn("کارکرد", "work_time");
	
	$rpt->excel = true;
	$rpt->generateReport();
	die(); 
}
 function reDirect($getArr, $postArr, $object = null)
 {
     $form_creator = new FormCreator($getArr, $postArr);
     if ($_SESSION['isAdmin'] !== 'Yes') {
         trigger_error("Unauthorized access", E_USER_NOTICE);
     }
     switch ($getArr['repcode']) {
         case 'EMPDEF':
             //if ()
             $form_creator->formPath = '/templates/report/emprepinfo.php';
             $form_creator->popArr['arrAgeSim'] = array('Less Than' => '>', 'Greater Than' => '<', 'Range' => 'range');
             //$form_creator->popArr['arrEmpType']= array( 'Permanent', 'Expatriate', 'Contract', 'Temporary' , 'Others');
             $form_creator->popArr['arrSerPer'] = array('Less Than' => '>', 'Greater Than' => '<', 'Range' => 'range');
             $form_creator->popArr['arrJoiDat'] = array('Joined After' => '>', 'Joined Before' => '<', 'Joined In Between' => 'range');
             $report = new EmpReport();
             $empinfo = new EmpInfo();
             $edu = new Education();
             $jobtit = new JobTitle();
             $salgrd = new SalaryGrades();
             $empstat = new EmploymentStatus();
             $langObj = new LanguageInfo();
             $skillObj = new Skills();
             $form_creator->popArr['grdlist'] = $salgrd->getSalGrdCodes();
             $form_creator->popArr['edulist'] = $edu->getAllEducation();
             $form_creator->popArr['deslist'] = $jobtit->getJobTit();
             $form_creator->popArr['arrEmpType'] = $empstat->getEmpStat();
             $form_creator->popArr['languageList'] = $langObj->getLang();
             $form_creator->popArr['skillList'] = $skillObj->getSkillCodes();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $edit = $report->filterReport($getArr['id']);
                 $criteria_value = explode('|', $edit[0][2]);
                 for ($c = 0; count($criteria_value) > $c; $c++) {
                     $crit_data = explode("=", $criteria_value[$c]);
                     $criteriaChkBox[$c] = $crit_data[0];
                     for ($d = 1; count($crit_data) > $d; $d++) {
                         $crit_form_data[$crit_data[0]][$d - 1] = $crit_data[$d];
                     }
                 }
                 $form_creator->popArr['editCriteriaChk'] = $criteriaChkBox;
                 $form_creator->popArr['editCriteriaData'] = $crit_form_data;
                 $form_creator->popArr['fieldList'] = explode('|', $edit[0][3]);
             }
             if ($object != null) {
                 $form_creator->popArr['empqual'] = $empqual->getQualifications($object->TypeCode);
             }
             break;
         case 'EMPVIEW':
             $report = new EmpReport();
             $repgen = new ReportGenerator();
             $edit = $report->filterReport($getArr['id']);
             $repgen->reportId = $edit[0][0];
             /* TODO: The following actions should be moved to model class */
             $criteria = explode('|', $edit[0][2]);
             $criteriaCount = count($criteria);
             for ($c = 0; $criteriaCount > $c; $c++) {
                 $crit_value = explode("=", $criteria[$c]);
                 $repgen->setCriteria($crit_value[0], '');
                 $criteriaValueCount = count($crit_value);
                 for ($d = 1; $criteriaValueCount > $d; $d++) {
                     if ($d == count($crit_value) - 1) {
                         $repgen->setCriteria($crit_value[0], $crit_value[$d], true);
                     } else {
                         $repgen->setCriteria($crit_value[0], $crit_value[$d] . "|", true);
                     }
                 }
             }
             $field = explode('|', $edit[0][3]);
             $fieldCount = count($field);
             for ($c = 0; $fieldCount > $c; $c++) {
                 $repgen->setField($field[$c], 1);
             }
             $sqlQ = $repgen->buildReportQuery();
             $arrayDispList = $repgen->buildDisplayList($sqlQ);
             $employee = array();
             if (is_array($arrayDispList)) {
                 $employee = current($arrayDispList);
             }
             $columns = count($employee);
             $rows = count($arrayDispList);
             $objs['reportName'] = $edit[0][1];
             $objs['arrayDispList'] = $arrayDispList;
             $objs['headerNames'] = $repgen->getHeaders();
             $objs['replacements'] = array('directReportingMode' => EmpRepTo::REPORTING_MODE_DIRECT, 'indirectReportingMode' => EmpRepTo::REPORTING_MODE_INDIRECT);
             $templatePath = '/templates/report/report.php';
             $template = new TemplateMerger($objs, $templatePath, null, null);
             $template->display();
             return;
             break;
         case 'RUG':
             $form_creator->formPath = '/templates/report/repusg.php';
             $report = new EmpReport();
             $emprepgroup = new EmpRepUserGroup();
             $form_creator->popArr['report'] = $report->filterReport($getArr['id']);
             $form_creator->popArr['usgAll'] = $emprepgroup->getAllUserGroups();
             $form_creator->popArr['repUsgAss'] = $emprepgroup->getAssignedUserGroup($getArr['id']);
             $form_creator->popArr['usgUnAss'] = $emprepgroup->getUnAssUserGroups($getArr['id']);
             break;
     }
     $form_creator->display();
 }
Пример #27
0
            } elseif ($variable['value'] == null) {
                $prepareVariable = "null";
            } else {
                $prepareVariable = "'{$variable['value']}'";
            }
            $sqlStatement = str_ireplace($prepareKey, $prepareVariable, $sqlStatement);
            $sqlStatement = str_ireplace($prepareKey . '_operator', $variable['operator'], $sqlStatement);
        }
        return $sqlStatement;
    }
}
/**
 * This will combine the XML and the XSL
 * or generate the HTML, Text
 */
$rg = new ReportGenerator();
$rg->setRequest($_REQUEST);
$date = new DateTime();
$Stamp = $date->format('Ymd-His');
$xslt = new XSLTProcessor();
$xslt->registerPHPFunctions();
switch ($rg->format) {
    case 'html':
        header('Content-Type: application/xslt+xml');
        header('Content-Disposition: inline; filename=' . strtolower($rg->reportDir) . '-' . $Stamp . '".html"');
        $xslt->importStylesheet(new SimpleXMLElement($rg->getXSLTemplate()));
        echo $xslt->transformToXml(new SimpleXMLElement($rg->getXMLDocument()));
        break;
    case 'pdf':
        require_once '../../../lib/html2pdf_v4.03/html2pdf.class.php';
        $xslt->importStylesheet(new SimpleXMLElement($rg->getXSLTemplate()));
Пример #28
0
	BeginReport();
	echo "<table style='border:2px groove #9BB1CD;border-collapse:collapse;width:100%'><tr>
			<td width=60px><img src='/framework/icons/logo.jpg' style='width:120px'></td>
			<td align='center' style='height:100px;vertical-align:middle;font-family:b titr;font-size:15px'>
				گزارش پرداخت وام
			</td>
			<td width='200px' align='center' style='font-family:tahoma;font-size:11px'>تاریخ تهیه گزارش : " 
		. DateModules::shNow() . "<br>";
	
	echo "</td></tr></table>";
	
	$ReqObj = new LON_requests($RequestID);
	$partObj = LON_ReqParts::GetValidPartObj($RequestID);
	
	//..........................................................
	$rpg2 = new ReportGenerator();
	$rpg2->mysql_resource = PdoDataAccess::runquery("
		select * from LON_installments where RequestID=?", array($RequestID));
	$col = $rpg2->addColumn("", "InstallmentID");
	$col->hidden = true;
	
	$col = $rpg2->addColumn("تاریخ قسط", "InstallmentDate","dateRender");
	$col = $rpg2->addColumn("مبلغ قسط", "InstallmentAmount","amountRender");
	
	function profitRender(&$row, $value, $param, $prevRow){
		
		$R = $param->IntervalType == "MONTH" ? 1200/$param->PayInterval : 36500/$param->PayInterval;
		$V = !$prevRow ? $param->PartAmount : $prevRow["EndingBalance"];
		
		$row["profit"] = round( $V*($param->CustomerWage/$R) );