function report($periode_date, $report_id)
 {
     $this->myheader($periode_date, $report_id);
     $w = array(130, 20);
     $model1 = tAccountMain::model()->with('account_list')->findAll('type_id = 1');
     $_labarugi = tAccount::labarugiDitahan($periode_date);
     $_s = 5;
     //Reset
     $_total = 0;
     $_subtotal = 0;
     $_grandtotal = 0;
     $_grandtotalA = 0;
     $_grandtotalP = 0;
     //Print/Preview Report
     foreach ($model1 as $mmm) {
         if ($mmm->id == 2) {
             //pasiva
             $_s = $_s + 5;
             $this->SetFont('Arial', 'B', 8);
             $this->Cell($w[0], 4, $mmm->name);
             $this->Cell($w[1], 4, '');
             $this->Ln();
         }
         foreach ($mmm->account_list as $mm) {
             $model2 = tAccount::model()->findByPk((int) $mm->parent_id);
             $this->SetFont('Arial', 'B', 8);
             if ($mmm->id == 2) {
                 $this->Cell(5, 4, '');
             }
             $this->Cell($w[0], 4, $model2->account_concat());
             $this->SetX($this->x0);
             $this->Cell($w[1], 4, '');
             $this->Ln();
             foreach ($model2->childs as $model) {
                 $this->SetFont('Arial', 'B', 8);
                 $this->Cell($_s, 4, '');
                 $this->Cell($w[0], 4, $model->account_concat());
                 $this->SetX($this->x0);
                 $this->Cell($w[1], 4, '');
                 $this->Ln();
                 if ($model->childs) {
                     foreach ($model->childs as $mod) {
                         if ($mod->childs) {
                             $this->SetFont('Arial', 'B', 8);
                         } else {
                             $this->SetFont('Arial', '', 8);
                         }
                         $this->Cell($_s + 5, 4, '');
                         $this->Cell($w[0], 4, $mod->account_concat());
                         $this->SetX($this->x0);
                         $_mod = $mod->balancesheet(array('condition' => 'yearmonth_periode =' . $periode_date));
                         if (isset($_mod->end_balance)) {
                             $_balance = number_format($_mod->end_balance, 0, ',', '.');
                             $_subtotal = $_subtotal + $_mod->end_balance;
                             $_grandtotal = $_grandtotal + $_mod->end_balance;
                         } else {
                             $_balance = 0;
                         }
                         if ($mod->childs) {
                             $this->Cell($w[1], 4, '', 0, 0, 'R');
                         } else {
                             /* if (isset($mod->accmain) && $mod->accmain->mvalue ==8) {
                             				$this->Cell($w[1],4,number_format($_labarugi,0,',','.'),0,0,'R');
                             			$_total=$_total+$_labarugi;
                             			$_subtotal=$_subtotal+$_labarugi;
                             			$_grandtotal=$_grandtotal+$_labarugi;
                             			} else */
                             $this->Cell($w[1], 4, $_balance, 0, 0, 'R');
                         }
                         $this->Ln();
                         if ($mod->childs) {
                             foreach ($mod->childs as $m) {
                                 if ($m->childs) {
                                     $this->SetFont('Arial', 'B', 8);
                                 } else {
                                     $this->SetFont('Arial', '', 8);
                                 }
                                 $this->Cell($_s + 10, 4, '');
                                 $this->Cell($w[0], 4, $m->account_concat());
                                 $this->SetX($this->x0);
                                 $_m = $m->balancesheet(array('condition' => 'yearmonth_periode =' . $periode_date));
                                 if (isset($_m->end_balance)) {
                                     $_balance = number_format($_m->end_balance, 0, ',', '.');
                                     $_total = $_total + $_m->end_balance;
                                     $_subtotal = $_subtotal + $_m->end_balance;
                                     $_grandtotal = $_grandtotal + $_m->end_balance;
                                 } else {
                                     $_balance = 0;
                                 }
                                 if ($m->childs) {
                                     $this->Cell($w[1], 4, '', 0, 0, 'R');
                                 } else {
                                     /* if (isset($m->accmain) && $m->accmain->mvalue ==8) {
                                     				$this->Cell($w[1],4,number_format($_labarugi,0,',','.'),0,0,'R');
                                     			$_total=$_total+$_labarugi;
                                     			$_subtotal=$_subtotal+$_labarugi;
                                     			$_grandtotal=$_grandtotal+$_labarugi;
                                     			} else */
                                     $this->Cell($w[1], 4, $_balance, 0, 0, 'R');
                                 }
                                 $this->Ln();
                                 if ($m->childs) {
                                     ////////////////LAST
                                     foreach ($m->childs as $n) {
                                         if ($n->childs) {
                                             $this->SetFont('Arial', 'B', 8);
                                         } else {
                                             $this->SetFont('Arial', '', 8);
                                         }
                                         $this->Cell($_s + 15, 4, '');
                                         $this->Cell($w[0], 4, $n->account_concat());
                                         $this->SetX($this->x0);
                                         $_n = $n->balancesheet(array('condition' => 'yearmonth_periode =' . $periode_date));
                                         if (isset($_n->end_balance)) {
                                             $_balance = number_format($_n->end_balance, 0, ',', '.');
                                             $_total = $_total + $_n->end_balance;
                                             $_subtotal = $_subtotal + $_n->end_balance;
                                             $_grandtotal = $_grandtotal + $_n->end_balance;
                                         } else {
                                             $_balance = 0;
                                         }
                                         if ($n->childs) {
                                             $this->Cell($w[1], 4, '', 0, 0, 'R');
                                         } else {
                                             /* if (isset($n->accmain) && $n->accmain->mvalue ==8) {
                                             				$this->Cell($w[1],4,number_format($_labarugi,0,',','.'),0,0,'R');
                                             			$_total=$_total+$_labarugi;
                                             			$_subtotal=$_subtotal+$_labarugi;
                                             			$_grandtotal=$_grandtotal+$_labarugi;
                                             			} else */
                                             $this->Cell($w[1], 4, $_balance, 0, 0, 'R');
                                         }
                                         $this->Ln();
                                     }
                                     ///LAST
                                 }
                             }
                         }
                         if ($mod->childs && $mod->childsCount >= 2) {
                             $this->SetFont('Arial', 'B', 8);
                             $this->Cell($_s + 5, 4, '');
                             $this->Cell($w[0], 4, 'TOTAL ' . $mod->account_name);
                             $this->SetX($this->x0);
                             $this->Cell($w[1], 4, number_format($_total, 0, ',', '.'), 'T', 0, 'R');
                             $this->Ln(5);
                         }
                         if ($mod->childs) {
                             $_total = 0;
                         }
                         if ($this->GetY() >= 250) {
                             $this->AddPage();
                             $this->myheader($periode_date, $report_id);
                         }
                     }
                 }
                 $this->SetFont('Arial', 'B', 8);
                 $this->Cell($_s, 4, '');
                 $this->Cell($w[0], 4, 'TOTAL ' . $model->account_name);
                 $this->SetX($this->x0 + 20);
                 $this->Cell($w[1], 4, number_format($_subtotal, 0, ',', '.'), 'T', 0, 'R');
                 $this->Ln(5);
                 $_subtotal = 0;
                 if ($this->GetY() >= 250) {
                     $this->AddPage();
                     $this->myheader();
                 }
             }
             $this->SetFillColor(224, 224, 224);
             $this->SetFont('Arial', 'B', 8);
             if ($mmm->id == 2) {
                 $this->Cell(5, 4, '');
             }
             $this->Cell($w[0], 4, 'TOTAL ' . $model2->account_name, 0, 0, 'L', true);
             $this->SetX($this->x0 + 20);
             $this->Cell($w[1], 4, number_format($_grandtotal, 0, ',', '.'), 0, 0, 'R', true);
             $this->Cell($w[1], 4, '');
             $this->Ln(8);
             if ($mmm->id == 1) {
                 //Aktiva
                 $_grandtotalA = $_grandtotal;
             } else {
                 $_grandtotalP = $_grandtotalP + $_grandtotal;
             }
             $_grandtotal = 0;
         }
         if ($mmm->id == 2) {
             //Pasiva
             $_s = $_s + 5;
             $this->SetFont('Arial', 'B', 8);
             $this->Cell($w[0], 4, $mmm->name, 0, 0, 'L', true);
             $this->SetX($this->x0 + 20);
             $this->Cell($w[1], 4, number_format($_grandtotalP, 0, ',', '.'), 0, 0, 'R', true);
             $this->Ln();
         }
     }
 }