public function rows_post_process($rows, $aux = null)
 {
     //print_r($this->aux_data);
     $total_base = 0;
     $total_converted = 0;
     $end = 0;
     $br = array_fill(0, $this->column_count(), '');
     $nrows = array();
     $subhead1 = '';
     $subhead2 = '';
     $subhead3 = '';
     $seq = 0;
     $subamount1 = 0;
     $subamount2 = 0;
     if (count($rows) > 0) {
         for ($i = 0; $i < count($rows); $i++) {
             //print_r($rows[$i]['extra']);
             if ($subhead1 == '' || $subhead1 != $rows[$i][1] || $subhead2 != $rows[$i][4]) {
                 $headline = $br;
                 if ($subhead1 != $rows[$i][1]) {
                     $headline[1] = '<b>' . $rows[$i]['extra']['PERIOD'] . '</b>';
                 } else {
                     $headline[1] = '';
                 }
                 $headline[4] = '<b>' . $rows[$i]['extra']['ACCNT_CODE'] . '</b>';
                 $headline['extra']['rowclass'] = 'row-underline';
                 if ($subhead1 != '') {
                     $amtline = $br;
                     $amtline[8] = '<b>' . Ks::idr($subamount1) . '</b>';
                     $amtline[10] = '<b>' . Ks::idr($subamount2) . '</b>';
                     $amtline['extra']['rowclass'] = 'row-doubleunderline row-overline';
                     $nrows[] = $amtline;
                     $subamount1 = 0;
                     $subamount2 = 0;
                 }
                 $subamount1 += $rows[$i]['extra']['OTHER_AMT'];
                 $subamount2 += $rows[$i]['extra']['AMOUNT'];
                 $nrows[] = $headline;
                 $seq = 1;
                 $rows[$i][0] = $seq;
                 $rows[$i][8] = $rows[$i]['extra']['CONV_CODE'] == 'IDR' ? Ks::idr($rows[$i][8]) : '';
                 $rows[$i][9] = $rows[$i]['extra']['CONV_CODE'] == 'IDR' ? Ks::dec2($rows[$i][9]) : '';
                 $rows[$i][10] = Ks::usd($rows[$i][10]);
                 $nrows[] = $rows[$i];
             } else {
                 $seq++;
                 $rows[$i][0] = $seq;
                 $rows[$i][8] = $rows[$i]['extra']['CONV_CODE'] == 'IDR' ? Ks::idr($rows[$i][8]) : '';
                 $rows[$i][9] = $rows[$i]['extra']['CONV_CODE'] == 'IDR' ? Ks::dec2($rows[$i][9]) : '';
                 $rows[$i][10] = Ks::usd($rows[$i][10]);
                 $nrows[] = $rows[$i];
             }
             $total_base += doubleval($rows[$i][8]);
             $total_converted += doubleval($rows[$i][10]);
             $end = $i;
             $subhead1 = $rows[$i][1];
             $subhead2 = $rows[$i][4];
         }
         // show total Page
         if ($this->column_count() > 0) {
             $tb = $br;
             $tb[1] = 'Total Page';
             $tb[8] = Ks::idr($total_base);
             $tb[10] = Ks::usd($total_converted);
             $nrows[] = $tb;
             if (!is_null($this->aux_data)) {
                 $td = $br;
                 $td[1] = 'Total';
                 $td[8] = Ks::idr($aux['total_data_base']);
                 $td[10] = Ks::usd($aux['total_data_converted']);
                 $nrows[] = $td;
             }
         }
         return $nrows;
     } else {
         return $rows;
     }
     // show total queried
 }