Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Aplikasi extends BaseController
- {
- private $module = 'r2/analisa/cabang/credit/aplikasi/';
- private $file = 'analisa/r2/cabang/credit/aplikasi/';
- private $path = "./uploads/temp_xls/";
- private $url = "magic/getMagicLaporanAplikasi";
- public function index(){
- $controllerPath = uri_string();
- $arrMenu = setNodeidOnRefresh("ANALISA", $controllerPath);
- $title = "Laporan Aplikasi";
- $module = $this->module;
- $file = $this->file;
- $data = callParameterIndexFunction($title, $module, $file, $arrMenu);
- return view($this->file.'index', $data);
- }
- public function getData()
- {
- $tgl1 = $this->request->getPost('tgl1');
- $tgl2 = $this->request->getPost('tgl2');
- $requestbody = requestBody($this->request->getPost());
- $paging2 = $this->request->getPost('paging2');
- $paging1 = $this->request->getPost('paging1');
- $offset = ($paging1 - 1) * $paging2;
- $requestbody['tgl1'] = $tgl1;
- $requestbody['tgl2'] = $tgl2;
- $requestbody['paging1'] = $offset;
- $requestbody['paging2'] = $paging2;
- $url = $this->url;
- $result = sendApi('POST', $url, $requestbody, 5);
- $data['rows'] = $result->status == "200" ? $result->data : [];
- $data['total'] = $result->status == "200" ? $result->total : 0;
- $data['status'] = $result->status;
- echo json_encode($data);
- }
- public function downloadData()
- {
- $excel = new Excel();
- $tgl1 = $this->request->getPost('tgl1');
- $tgl2 = $this->request->getPost('tgl2');
- $filter = setFilterNew($this->request->getPost('filter'));
- $requestbody = requestBody($this->request->getPost());
- $requestbody['paging1'] = null;
- $requestbody['paging2'] = null;
- $requestbody['tgl1'] = $tgl1;
- $requestbody['tgl2'] = $tgl2;
- $flagpassword = (empty(session()->get('flagpassword'))) ? 1 : session()->get('flagpassword');
- $nmwil = $this->request->getPost('nmwil');
- $nmarea = $this->request->getPost('nmarea');
- $nmcab = $this->request->getPost('nmcab');
- $nmcluster = $this->request->getPost('nmcluster');
- $pkdcab = $this->request->getPost('pkdcab');
- $nmbulan = array('01' => 'Januari', '02' => 'Februari', '03' => 'Maret', '04' => 'April', '05' => 'Mei', '06' => 'Juni', '07' => 'Juli', '08' => 'Agustus', '09' => 'September', '10' => 'Oktober', '11' => 'November', '12' => 'Desember');
- $date1 = explode('-', $tgl1);
- $date2 = explode('-', $tgl2);
- $bulan1 = $nmbulan[$date1[1]];
- $bulan2 = $nmbulan[$date2[1]];
- $date = $date1[2] . " $bulan1 " . $date1[0] . " s/d " . $date2[2] . " $bulan2 " . $date2[0];
- $ket = "";
- if ($filter == 'ALL') {
- $ket = "Nasional";
- } elseif ($filter == 'WIL') {
- $ket = "Wilayah " . $nmwil;
- } elseif ($filter == 'REG') {
- $ket = "Regional " . $nmarea;
- } elseif ($filter == 'CAB') {
- $ket = "Cabang " . $nmcab;
- } elseif ($filter == 'WILMORE') {
- $ket = "Semua Wilayah";
- } elseif ($filter == 'REGMORE') {
- $ket = "Semua Regional";
- } elseif ($filter == 'CABMORE') {
- $ket = "Semua Cabang";
- } elseif ($filter == 'CLUST') {
- $ket = "Area " . $nmcluster;
- }
- $url = $this->url;
- $response = sendApi('POST', $url, $requestbody, 5);
- $data = $response->data;
- $data = object_to_array($data);
- $data_arr = [];
- $filename = "Laporan Aplikasi : " . $date . ".xlsx";
- $spreadsheet = new Spreadsheet();
- $sheet = $spreadsheet->getActiveSheet();
- $sheet->mergeCells('A1:AH1');
- $sheet->mergeCells('A2:AH2');
- $sheet->mergeCells('A3:AH3');
- $sheet->setCellValue('A1', 'PT. Mandala Multifinance, Tbk');
- $sheet->setCellValue('A2', "Laporan Aplikasi " . $date);
- $sheet->setCellValue('A3', $ket);
- $arr = [
- "PERIODE",
- "WILAYAH",
- "REGIONAL",
- "AREA \x20",
- "KDPRS",
- "CABANG",
- "NO MAP",
- "TGL APLIKASI",
- "NAMA KONSUMEN",
- "NIK SURVEYOR",
- "SURVEYOR",
- "DEALER",
- "MERK",
- "KONDISI",
- "TYPE",
- "HARGA OTR",
- "ADM",
- "DP MURNI",
- "DP KONS",
- "PREMI ASR",
- "ANGS",
- "TENOR \x20",
- "TOTAL POKOK",
- "TOTAL BUNGA",
- "% EFF",
- "% FLAT",
- "PRODUK",
- "STATUS KEPUTUSAN",
- "TGL APLIKASI MASUK",
- "TAHUN MOTOR"
- ];
- $start = "A";
- $end = Coordinate::stringFromColumnIndex(count($arr));
- $sheet->fromArray($arr, null, $start . "5");
- $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setWrapText(true);
- $sheet->getStyle($start . "5:" . $end . "5")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('E2E8F0');
- $sheet->getStyle($start . "5:" . $end . "5")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
- $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setHorizontal('center')->setVertical('center');
- $baris = 6;
- foreach ($data as $key => $value) :
- $date = new \DateTime($value["tglAplikasiMasuk"]);
- $d["A"] = StringCheckNull($value["periode"]);
- $d["B"] = StringCheckNull($value["wilayah"]);
- $d["C"] = StringCheckNull($value["nmreg"]);
- $d["D"] = StringCheckNull($value["area"]);
- $d["E"] = StringCheckNull($value["kdprs"]);
- $d["F"] = StringCheckNull($value["nmcab"]);
- $d["G"] = StringCheckNull($value["nomap"]);
- $d["H"] = dateCheck($value["tglappl"]);
- $d["I"] = StringCheckNull($value["nmkons"]);
- $d["J"] = StringCheckNull($value["nikSurveyor"]);
- $d["K"] = StringCheckNull($value["surveyor"]);
- $d["L"] = StringCheckNull($value["dealer"]);
- $d["M"] = StringCheckNull($value["merk"]);
- $d["N"] = StringCheckNull($value["kondisi"]);
- $d["O"] = StringCheckNull($value["typeBarang"]);
- $d["P"] = rupiahCheck($value["hargaOtr"]);
- $d["Q"] = rupiahCheck($value["adm"]);
- $d["R"] = rupiahCheck($value["dpmurni"]);
- $d["S"] = rupiahCheck($value["dpkons"]);
- $d["T"] = rupiahCheck($value["premiasr"]);
- $d["U"] = rupiahCheck($value["angs"]);
- $d["V"] = rupiahCheck($value["tenor"]);
- $d["W"] = rupiahCheck($value["totpokok"]);
- $d["X"] = rupiahCheck($value["totbunga"]);
- $d["Y"] = StringCheckNull($value["eff"]);
- $d["Z"] = StringCheckNull($value["flat"]);
- $d["AA"] = StringCheckNull($value["produk"]);
- $d["AB"] = StringCheckNull($value["statusKeputusan"]);
- $d["AC"] = dateCheck($date->format('d/m/Y H:i:s'), 'd/m/Y H:i:s', 'd-m-Y H:i:s');
- $d["AD"] = StringCheckNull($value["tahunMotor"]);
- array_push($data_arr, $d);
- endforeach;
- $sheet->fromArray($data_arr, null, $start . "6", true);
- $highestRow = $sheet->getHighestRow();
- $highestColumn = $sheet->getHighestColumn();
- $sheet->getStyle("H6:H$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
- $sheet->getStyle("AC6:AC$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATETIME);
- $sheet->getStyle("J6:J$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_GENERAL);
- $sheet->getStyle("P6:X$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_NUMBER);
- $sheet->getStyle("Y6:Z$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_NUMBER_COMMAS);
- $sheet->getStyle("A6:$highestColumn$highestRow")->applyFromArray(LEFT_STYLE);
- $sheet->getStyle("A6:$highestColumn$highestRow")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
- $sheet->freezePane('G6');
- foreach ($sheet->getColumnIterator() as $column) {
- $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
- }
- $sheet->getColumnDimension('J')->setAutoSize(false)->setWidth(20);
- $sheet->setTitle('Aplikasi');
- $writer = new Xlsx($spreadsheet);
- ob_start();
- $timestamp = time();
- $flagpassword = 0;
- if ($flagpassword == 1) {
- $password = random_int(100000, 999999);
- $filename = $this->generateFileName($iduser) . ".xlsx";
- $writer->save($this->path . $filename);
- $test = new Encrypt();
- $test->input($this->path . $filename)->password($password)->output($this->path . "Laporan Aplikasi - " . $timestamp . ".xlsx");
- $subject = "[MANIFEST]-[" . $pkdcab . "]-Password Laporan Aplikasi " . date('d M Y');
- $to = session()->get('email');
- $message = "Dear " . session()->get('nmuser') . ", <br><br>Password - Laporan Aplikasi Cabang " . $pkdcab . "-" . $nmcab . " : <b>" . $password . "</b><p>Thanks, </p><p>Manifest<br><i>Mandala Intelligence Financial System</i></p> <img src='https://manifest-dev.mandalafinance.com/assets/images/footer_mmf.png' width='220' height='40'>";
- $email = sendEmail($subject, $to, null, $message);
- if ($email) {
- $res = array(
- 'op' => 'ok',
- 'filename' => $pkdcab . "_" . date('Ymd') . "_Laporan_Aplikasi.xlsx",
- 'file' => base_url() . $this->path . "Laporan Aplikasi - " . $timestamp . ".xlsx",
- 'message' => 'Silahkan cek email anda untuk mendapatkan password yang digunakan untuk membuka file hasil unduhan ini!'
- );
- } else {
- $res = array(
- 'op' => 'fail',
- );
- }
- } else {
- $writer->save('php://output');
- $xlsData = ob_get_contents();
- ob_end_clean();
- $filename = $pkdcab . "_" . date('Ymd') . "_Laporan_Aplikasi.xlsx";
- $res = array(
- 'op' => 'ok',
- 'data' => $data,
- 'filename' => $filename,
- 'file' => "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64," . base64_encode($xlsData),
- 'message' => "Silahkan buka file excel yang telah di export"
- );
- }
- echo json_encode($res);
- }
- public function generateFileName($iduser = null)
- {
- $secret_key = secretKey();
- $filename = hash("sha256",$secret_key . hash("sha256",$iduser) . $secret_key);
- return $filename;
- }
- }
- class CetakKwitansiCopy extends BaseController
- {
- private $module = 'r2/analisa/cabang/operation/cetak-kwitansi-copy/';
- private $file = 'analisa/r2/cabang/operation/cetak_kwitansi_copy/';
- private $path = "./uploads/temp_xls/";
- private $url = "magic/getMagicLaporanCetakKwitansiCopy";
- public function index(){
- $controllerPath = uri_string();
- $arrMenu = setNodeidOnRefresh("ANALISA", $controllerPath);
- $title = "Cetak Kwitansi Copy";
- $module = $this->module;
- $file = $this->file;
- $data = callParameterIndexFunction($title, $module, $file, $arrMenu);
- return view($this->file.'index', $data);
- }
- public function getData()
- {
- $tgl1 = $this->request->getPost('tgl1');
- $tgl2 = $this->request->getPost('tgl2');
- $requestbody = requestBody($this->request->getPost());
- $paging2 = $this->request->getPost('paging2');
- $paging1 = $this->request->getPost('paging1');
- $offset = ($paging1 - 1) * $paging2;
- $requestbody['tgl1'] = $tgl1;
- $requestbody['tgl2'] = $tgl2;
- $requestbody['paging1'] = $offset;
- $requestbody['paging2'] = $paging2;
- $url = $this->url;
- $result = sendApi('POST', $url, $requestbody, 5);
- if ($result->status == "200") {
- $data['rows'] = $result->data;
- $data['total'] = $result->total;
- $data['status'] = $result->status;
- } else {
- $data['rows'] = [];
- $data['total'] = 0;
- $data['status'] = $result->status;
- }
- echo json_encode($data);
- }
- public function downloadData()
- {
- $excel = new Excel();
- $tgl1 = $this->request->getPost('tgl1');
- $tgl2 = $this->request->getPost('tgl2');
- $filter = setFilterNew($this->request->getPost('filter'));
- $requestbody = requestBody($this->request->getPost());
- $requestbody['paging1'] = null;
- $requestbody['paging2'] = null;
- $requestbody['tgl1'] = $tgl1;
- $requestbody['tgl2'] = $tgl2;
- $flagpassword = session()->get('flagpassword');
- $nmwil = $this->request->getPost('nmwil');
- $nmarea = $this->request->getPost('nmarea');
- $nmcab = $this->request->getPost('nmcab');
- $nmcluster = $this->request->getPost('nmcluster');
- $pkdcab = $this->request->getPost('pkdcab');
- $nmbulan = array('01' => 'Januari', '02' => 'Februari', '03' => 'Maret', '04' => 'April', '05' => 'Mei', '06' => 'Juni', '07' => 'Juli', '08' => 'Agustus', '09' => 'September', '10' => 'Oktober', '11' => 'November', '12' => 'Desember');
- $ket = "";
- if ($filter == 'ALL') {
- $ket = "Nasional";
- } elseif ($filter == 'WIL') {
- $ket = "Wilayah " . $nmwil;
- } elseif ($filter == 'REG') {
- $ket = "Regional " . $nmarea;
- } elseif ($filter == 'CAB') {
- $ket = "Cabang " . $nmcab;
- } elseif ($filter == 'WILMORE') {
- $ket = "Semua Wilayah";
- } elseif ($filter == 'REGMORE') {
- $ket = "Semua Regional";
- } elseif ($filter == 'CABMORE') {
- $ket = "Semua Cabang";
- } elseif ($filter == 'CLUST') {
- $ket = "Area " . $nmcluster;
- }
- $title = 'Laporan Cetak Kwitansi Copy';
- $date1 = explode('-', $tgl1);
- $date2 = explode('-', $tgl2);
- $bulan1 = $nmbulan[$date1[1]];
- $bulan2 = $nmbulan[$date2[1]];
- $date = $date1[2] . " $bulan1 " . $date1[0] . " s/d " . $date2[2] . " $bulan2 " . $date2[0];
- $url = $this->url;
- $response = sendApi('POST', $url, $requestbody, 5);
- $data = $response->data;
- $data = object_to_array($data);
- $data_arr = [];
- $filename = "Laporan " . session()->get('titlePage') . " Tanggal : " . $tgl1 . " s/d " . $tgl2 . ".xlsx";
- $spreadsheet = new Spreadsheet();
- $sheet = $spreadsheet->getActiveSheet();
- $sheet->setCellValue('A1', 'PT. Mandala Multifinance, Tbk');
- $sheet->setCellValue('A2', "$title $date");
- $sheet->setCellValue('A3', $ket);
- $arr = ["PERIODE", "WILAYAH", "REGIONAL", "AREA", "KDPRS", "CABANG", "NOBOOK", "TGLBOOK", "NAMA KONSUMEN", "ANGKE \x20", "ANGSURAN", "NO KWITANSI", "TGL JT", "TGL CETAK", "USER ID", "ALASAN CETAK", "TGL VOUCHER"];
- $start = "A";
- $end = Coordinate::stringFromColumnIndex(count($arr));
- $sheet->fromArray($arr, null, $start . "5");
- $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setWrapText(true);
- $sheet->getStyle($start . "5:" . $end . "5")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('E2E8F0');
- $sheet->getStyle($start . "5:" . $end . "5")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
- $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setHorizontal('center')->setVertical('center');
- $baris = 6;
- foreach ($data as $key => $value) :
- $d["A"] = StringCheckNull($value["periode"]);
- $d["B"] = StringCheckNull($value["wilayah"]);
- $d["C"] = StringCheckNull($value["nmreg"]);
- $d["D"] = StringCheckNull($value["area"]);
- $d["E"] = StringCheckNull($value["kdprs"]);
- $d["F"] = StringCheckNull($value['nmcab']);
- $d["G"] = StringCheckNull($value["nobook"]);
- $d["H"] = dateCheck($value['tglbook']);
- $d["I"] = StringCheckNull($value["nmkons"]);
- $d["J"] = StringCheckNull($value["angKe"]);
- $d["K"] = StringCheckNull($value["angs"]);
- $d["L"] = StringCheckNull($value["nokwit"]);
- $d["M"] = dateCheck($value['tgljt']);
- $d["N"] = dateCheck($value['tglcetak']);
- $d["O"] = StringCheckNull($value["userid"]);
- $d["P"] = StringCheckNull($value["alasan"]);
- $d["Q"] = dateCheck($value['tglvoucher']);
- array_push($data_arr, $d);
- endforeach;
- $sheet->fromArray($data_arr, null, $start . "6", true);
- $highestRow = $sheet->getHighestRow();
- $highestColumn = $sheet->getHighestColumn();
- $sheet->getStyle("G6:G$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_GENERAL);
- $sheet->getStyle("J6:K$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_NUMBER);
- $sheet->getStyle("H6:H$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
- $sheet->getStyle("M6:N$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
- $sheet->getStyle("Q6:Q$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
- $sheet->mergeCells("A1:" . $highestColumn . "1");
- $sheet->mergeCells("A2:" . $highestColumn . "2");
- $sheet->mergeCells("A3:" . $highestColumn . "3");
- $sheet->getStyle("A6:Q$highestRow")->applyFromArray(LEFT_STYLE);
- $sheet->getStyle($start . "6:$highestColumn$highestRow")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
- $sheet->freezePane('G6');
- foreach ($sheet->getColumnIterator() as $column) {
- $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
- }
- $sheet->getColumnDimension('D')->setAutoSize(false)->setWidth(15);
- $sheet->setTitle('CETAK KWITANSI');
- $writer = new Xlsx($spreadsheet);
- ob_start();
- $flagpassword = 0;
- if ($flagpassword == 1) {
- $timestamp = time();
- $password = random_int(100000, 999999);
- $filename = $this->generateFileName($iduser) . ".xlsx";
- $writer->save($this->path . $filename);
- $test = new Encrypt();
- $test->input($this->path . $filename)->password($password)->output($this->path . "Laporan Cetak Kwitansi Copy - " . $timestamp . ".xlsx");
- $subject = "[MANIFEST]-[" . $pkdcab . "]-Password $title " . date('d M Y');
- $to = session()->get('email');
- $message = "Dear " . session()->get('nmuser') . ", <br><br>Password - Laporan Cetak Kwitansi Copy Cabang " . $pkdcab . "-" . $nmcab . " : <b>" . $password . "</b><p>Thanks, </p><p>Manifest<br><i>Mandala Intelligence Financial System</i></p> <img src='https://manifest-dev.mandalafinance.com/assets/images/footer_mmf.png' width='220' height='40'>";
- $email = sendEmail($subject, $to, null, $message);
- if ($email) {
- $res = array(
- 'op' => 'ok',
- 'filename' => $pkdcab . "_" . date('Ymd') . "_Laporan_Cetak_Kwitansi.xlsx",
- 'file' => base_url() . $this->path . "Laporan Cetak Kwitansi Copy - " . $timestamp . ".xlsx",
- 'message' => 'Silahkan cek email anda untuk mendapatkan password yang digunakan untuk membuka file hasil unduhan ini!'
- );
- } else {
- $res = array('message' => 'Gagal mengirim email');
- }
- } else {
- $writer->save('php://output');
- $xlsData = ob_get_contents();
- ob_end_clean();
- $filename = $pkdcab . "_" . date('Ymd') . "_Laporan_Cetak_Kwitansi.xlsx";
- $res = array(
- 'op' => 'ok',
- 'filename' => $filename,
- 'file' => "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64," . base64_encode($xlsData),
- 'message' => "Silahkan buka file excel yang telah di export"
- );
- }
- echo json_encode($res);
- }
- public function generateFileName($iduser = null)
- {
- $secret_key = secretKey();
- $filename = hash("sha256",$secret_key . hash("sha256",$iduser) . $secret_key);
- return $filename;
- }
- }
Add Comment
Please, Sign In to add comment