/** * 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"); } }
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; }
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()); } }
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"); } }
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(); }
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>";
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; }
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(); }
<?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"])) {
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(); }
$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");
{ 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";
$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");
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; }
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");
<?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); }
<?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;
{ 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";
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."'>";
$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);
{ 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);
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(); }
} 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()));
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) );