db_onedev = $this->load->database("onedev", true); } public function first_reminder(){ $XEmailOutboxSubject = 'Reminder Pelunasan'; $sql = "SELECT f_bill.*, DATE_FORMAT(F_BillDueDate,'%d-%m-%Y') jatuhtempo, CONCAT('Rp. ',FORMAT(F_BillTotal,0),',00') nominal, CorporateName FROM f_bill JOIN corporate ON CorporateID = F_BillCorporateID WHERE F_BillIsActive = 'Y' and F_BillIsLunas = 'N' and F_BillIsNotif = 'Y' and ( F_BillDueDate - interval 7 DAY) = date(now()) group by F_BillID"; $qry = $this->db_onedev->query($sql); if ($qry) { $rows_bill = $qry->result_array(); foreach ($rows_bill as $r) { $pid = $r["F_BillID"]; $recipients = $this->db_onedev->query("SELECT CorporateName as name, F_BillPICEmail as email FROM f_bill JOIN corporate ON CorporateID = F_BillCorporateID WHERE F_BillID = '{$pid}'")->result_array(); $XEmailOutboxRecipients = json_encode($recipients); $XEmailOutboxIsHtml = 'Y'; $pname = $r["F_BillPIC"]; $jatuhtempo = $r["jatuhtempo"]; $nominal = $r["nominal"]; $terbilang = $this->numberToWords($r["F_BillTotal"]) . ' rupiah'; $nomor = $r["F_BillNo"]; $XEmailOutboxBody = "

Reminder Pelunasan

Bapak/Ibu yang terhormat {$pname}

Dalam kesempatan ini kami ingin menyampaikan bahwa tagihan dengan data sebagai berikut :

Nominal

:

{$nominal}

Terbilang

:

{$terbilang}

Nomor Invoice

:

{$nomor}

Akan jatuh tempo pada {$jatuhtempo}

Demikian pemberitahuan dari kami, mohon dapat melakukan pembayaran tepat pada waktunya. Terima kasih

 

Hormat kami



"; $XEmailOutboxType = 'KEU'; $sql = "insert into x_email_outbox(XEmailOutboxSubject, XEmailOutboxRecipients, XEmailOutboxIsHtml, XEmailOutboxBody, XEmailOutboxType) values(?,?,?,?,?)"; $this->db_onedev->query($sql,array($XEmailOutboxSubject,$XEmailOutboxRecipients,$XEmailOutboxIsHtml,$XEmailOutboxBody,$XEmailOutboxType)); // echo $query; $rows = $this->db_onedev->query($query); } $result = array( "total" => count($rows_bill) , "records" => $rows_bill ); $this->sys_ok($result); exit; } } public function final_reminder(){ $XEmailOutboxSubject = 'Reminder Pelunasan'; $sql = "SELECT f_bill.*, DATE_FORMAT(F_BillDueDate,'%d-%m-%Y') jatuhtempo, CONCAT('Rp. ',FORMAT(F_BillTotal,0),',00') nominal, CorporateName FROM f_bill JOIN corporate ON CorporateID = F_BillCorporateID WHERE F_BillIsActive = 'Y' and F_BillIsLunas = 'N' and F_BillIsNotif = 'Y' and F_BillDueDate = date(now()) group by F_BillID"; $qry = $this->db_onedev->query($sql); if ($qry) { $rows_bill = $qry->result_array(); foreach ($rows_bill as $r) { $pid = $r["F_BillID"]; $recipients = $this->db_onedev->query("SELECT CorporateName as name, F_BillPICEmail as email FROM f_bill JOIN corporate ON CorporateID = F_BillCorporateID WHERE F_BillID = '{$pid}'")->result_array(); $XEmailOutboxRecipients = json_encode($recipients); $XEmailOutboxIsHtml = 'Y'; $pname = $r["F_BillPIC"]; $jatuhtempo = $r["jatuhtempo"]; $nominal = $r["nominal"]; $terbilang = $this->numberToWords($r["F_BillTotal"]) . ' rupiah'; $nomor = $r["F_BillNo"]; $XEmailOutboxBody = "

Reminder Pelunasan

Bapak/Ibu yang terhormat {$pname}

Dalam kesempatan ini kami ingin menyampaikan bahwa tagihan telah jatuh tempo hari ini dengan data sebagai berikut :

Nominal

:

{$nominal}

Terbilang

:

{$terbilang}

Nomor Invoice

:

{$nomor}

Kami masih belum menerima pembayaran di rekening kami sampai tanggal jatuh tempo tersebut, mohon dapat segera melakukan pembayaran.

Demikian pemberitahuan dari kami, terima kasih.

 

Hormat kami



"; $XEmailOutboxType = 'KEU'; $sql = "insert into x_email_outbox(XEmailOutboxSubject, XEmailOutboxRecipients, XEmailOutboxIsHtml, XEmailOutboxBody, XEmailOutboxType) values(?,?,?,?,?)"; $this->db_onedev->query($sql,array($XEmailOutboxSubject,$XEmailOutboxRecipients,$XEmailOutboxIsHtml,$XEmailOutboxBody,$XEmailOutboxType)); // echo $query; $rows = $this->db_onedev->query($query); } $result = array( "total" => count($rows_bill) , "records" => $rows_bill ); $this->sys_ok($result); exit; } } function numberToWords($number) { $words = array( '0' => 'nol', '1' => 'satu', '2' => 'dua', '3' => 'tiga', '4' => 'empat', '5' => 'lima', '6' => 'enam', '7' => 'tujuh', '8' => 'delapan', '9' => 'sembilan', '10' => 'sepuluh', '11' => 'sebelas', '12' => 'dua belas', '13' => 'tiga belas', '14' => 'empat belas', '15' => 'lima belas', '16' => 'enam belas', '17' => 'tujuh belas', '18' => 'delapan belas', '19' => 'sembilan belas', '20' => 'dua puluh', '30' => 'tiga puluh', '40' => 'empat puluh', '50' => 'lima puluh', '60' => 'enam puluh', '70' => 'tujuh puluh', '80' => 'delapan puluh', '90' => 'sembilan puluh', '100' => 'seratus', '1000' => 'seribu' ); if ($number < 21) { return $words[$number]; } elseif ($number < 100) { return $words[10 * floor($number/10)] . (($number % 10 > 0) ? ' ' . $words[$number % 10] : ''); } elseif ($number < 200) { return 'seratus' . (($number - 100 > 0) ? ' ' . $this->numberToWords($number - 100) : ''); } elseif ($number < 1000) { return $words[floor($number / 100)] . ' ratus' . (($number % 100 > 0) ? ' ' . $this->numberToWords($number % 100) : ''); } elseif ($number < 2000) { return 'seribu' . (($number - 1000 > 0) ? ' ' . $this->numberToWords($number - 1000) : ''); } elseif ($number < 1000000) { return $this->numberToWords(floor($number / 1000)) . ' ribu' . (($number % 1000 > 0) ? ' ' . $this->numberToWords($number % 1000) : ''); } elseif ($number < 1000000000) { return $this->numberToWords(floor($number / 1000000)) . ' juta' . (($number % 1000000 > 0) ? ' ' . $this->numberToWords($number % 1000000) : ''); } elseif ($number < 1000000000000) { return $this->numberToWords(floor($number / 1000000000)) . ' miliar' . (($number % 1000000000 > 0) ? ' ' . $this->numberToWords($number % 1000000000) : ''); } return $number; } }