Nurrohman_rex

Untitled

Jun 9th, 2025
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.82 KB | None | 0 0
  1. class Aplikasi extends BaseController
  2. {
  3. private $module = 'r2/analisa/cabang/credit/aplikasi/';
  4. private $file = 'analisa/r2/cabang/credit/aplikasi/';
  5. private $path = "./uploads/temp_xls/";
  6. private $url = "magic/getMagicLaporanAplikasi";
  7.  
  8. public function index(){
  9. $controllerPath = uri_string();
  10. $arrMenu = setNodeidOnRefresh("ANALISA", $controllerPath);
  11. $title = "Laporan Aplikasi";
  12. $module = $this->module;
  13. $file = $this->file;
  14. $data = callParameterIndexFunction($title, $module, $file, $arrMenu);
  15. return view($this->file.'index', $data);
  16. }
  17.  
  18. public function getData()
  19. {
  20. $tgl1 = $this->request->getPost('tgl1');
  21. $tgl2 = $this->request->getPost('tgl2');
  22. $requestbody = requestBody($this->request->getPost());
  23. $paging2 = $this->request->getPost('paging2');
  24. $paging1 = $this->request->getPost('paging1');
  25. $offset = ($paging1 - 1) * $paging2;
  26. $requestbody['tgl1'] = $tgl1;
  27. $requestbody['tgl2'] = $tgl2;
  28. $requestbody['paging1'] = $offset;
  29. $requestbody['paging2'] = $paging2;
  30.  
  31. $url = $this->url;
  32. $result = sendApi('POST', $url, $requestbody, 5);
  33.  
  34. $data['rows'] = $result->status == "200" ? $result->data : [];
  35. $data['total'] = $result->status == "200" ? $result->total : 0;
  36. $data['status'] = $result->status;
  37. echo json_encode($data);
  38. }
  39.  
  40. public function downloadData()
  41. {
  42. $excel = new Excel();
  43. $tgl1 = $this->request->getPost('tgl1');
  44. $tgl2 = $this->request->getPost('tgl2');
  45.  
  46. $filter = setFilterNew($this->request->getPost('filter'));
  47. $requestbody = requestBody($this->request->getPost());
  48. $requestbody['paging1'] = null;
  49. $requestbody['paging2'] = null;
  50. $requestbody['tgl1'] = $tgl1;
  51. $requestbody['tgl2'] = $tgl2;
  52.  
  53. $flagpassword = (empty(session()->get('flagpassword'))) ? 1 : session()->get('flagpassword');
  54. $nmwil = $this->request->getPost('nmwil');
  55. $nmarea = $this->request->getPost('nmarea');
  56. $nmcab = $this->request->getPost('nmcab');
  57. $nmcluster = $this->request->getPost('nmcluster');
  58. $pkdcab = $this->request->getPost('pkdcab');
  59. $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');
  60. $date1 = explode('-', $tgl1);
  61. $date2 = explode('-', $tgl2);
  62. $bulan1 = $nmbulan[$date1[1]];
  63. $bulan2 = $nmbulan[$date2[1]];
  64.  
  65. $date = $date1[2] . " $bulan1 " . $date1[0] . " s/d " . $date2[2] . " $bulan2 " . $date2[0];
  66.  
  67. $ket = "";
  68.  
  69. if ($filter == 'ALL') {
  70. $ket = "Nasional";
  71. } elseif ($filter == 'WIL') {
  72. $ket = "Wilayah " . $nmwil;
  73. } elseif ($filter == 'REG') {
  74. $ket = "Regional " . $nmarea;
  75. } elseif ($filter == 'CAB') {
  76. $ket = "Cabang " . $nmcab;
  77. } elseif ($filter == 'WILMORE') {
  78. $ket = "Semua Wilayah";
  79. } elseif ($filter == 'REGMORE') {
  80. $ket = "Semua Regional";
  81. } elseif ($filter == 'CABMORE') {
  82. $ket = "Semua Cabang";
  83. } elseif ($filter == 'CLUST') {
  84. $ket = "Area " . $nmcluster;
  85. }
  86.  
  87. $url = $this->url;
  88. $response = sendApi('POST', $url, $requestbody, 5);
  89. $data = $response->data;
  90.  
  91. $data = object_to_array($data);
  92. $data_arr = [];
  93.  
  94. $filename = "Laporan Aplikasi : " . $date . ".xlsx";
  95.  
  96. $spreadsheet = new Spreadsheet();
  97. $sheet = $spreadsheet->getActiveSheet();
  98. $sheet->mergeCells('A1:AH1');
  99. $sheet->mergeCells('A2:AH2');
  100. $sheet->mergeCells('A3:AH3');
  101.  
  102. $sheet->setCellValue('A1', 'PT. Mandala Multifinance, Tbk');
  103. $sheet->setCellValue('A2', "Laporan Aplikasi " . $date);
  104. $sheet->setCellValue('A3', $ket);
  105.  
  106. $arr = [
  107. "PERIODE",
  108. "WILAYAH",
  109. "REGIONAL",
  110. "AREA \x20",
  111. "KDPRS",
  112. "CABANG",
  113. "NO MAP",
  114. "TGL APLIKASI",
  115. "NAMA KONSUMEN",
  116. "NIK SURVEYOR",
  117. "SURVEYOR",
  118. "DEALER",
  119. "MERK",
  120. "KONDISI",
  121. "TYPE",
  122. "HARGA OTR",
  123. "ADM",
  124. "DP MURNI",
  125. "DP KONS",
  126. "PREMI ASR",
  127. "ANGS",
  128. "TENOR \x20",
  129. "TOTAL POKOK",
  130. "TOTAL BUNGA",
  131. "% EFF",
  132. "% FLAT",
  133. "PRODUK",
  134. "STATUS KEPUTUSAN",
  135. "TGL APLIKASI MASUK",
  136. "TAHUN MOTOR"
  137. ];
  138.  
  139.  
  140.  
  141. $start = "A";
  142. $end = Coordinate::stringFromColumnIndex(count($arr));
  143. $sheet->fromArray($arr, null, $start . "5");
  144.  
  145. $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setWrapText(true);
  146. $sheet->getStyle($start . "5:" . $end . "5")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('E2E8F0');
  147. $sheet->getStyle($start . "5:" . $end . "5")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
  148. $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setHorizontal('center')->setVertical('center');
  149.  
  150. $baris = 6;
  151.  
  152. foreach ($data as $key => $value) :
  153. $date = new \DateTime($value["tglAplikasiMasuk"]);
  154.  
  155. $d["A"] = StringCheckNull($value["periode"]);
  156. $d["B"] = StringCheckNull($value["wilayah"]);
  157. $d["C"] = StringCheckNull($value["nmreg"]);
  158. $d["D"] = StringCheckNull($value["area"]);
  159. $d["E"] = StringCheckNull($value["kdprs"]);
  160. $d["F"] = StringCheckNull($value["nmcab"]);
  161. $d["G"] = StringCheckNull($value["nomap"]);
  162. $d["H"] = dateCheck($value["tglappl"]);
  163. $d["I"] = StringCheckNull($value["nmkons"]);
  164. $d["J"] = StringCheckNull($value["nikSurveyor"]);
  165. $d["K"] = StringCheckNull($value["surveyor"]);
  166. $d["L"] = StringCheckNull($value["dealer"]);
  167. $d["M"] = StringCheckNull($value["merk"]);
  168. $d["N"] = StringCheckNull($value["kondisi"]);
  169. $d["O"] = StringCheckNull($value["typeBarang"]);
  170. $d["P"] = rupiahCheck($value["hargaOtr"]);
  171. $d["Q"] = rupiahCheck($value["adm"]);
  172. $d["R"] = rupiahCheck($value["dpmurni"]);
  173. $d["S"] = rupiahCheck($value["dpkons"]);
  174. $d["T"] = rupiahCheck($value["premiasr"]);
  175. $d["U"] = rupiahCheck($value["angs"]);
  176. $d["V"] = rupiahCheck($value["tenor"]);
  177. $d["W"] = rupiahCheck($value["totpokok"]);
  178. $d["X"] = rupiahCheck($value["totbunga"]);
  179. $d["Y"] = StringCheckNull($value["eff"]);
  180. $d["Z"] = StringCheckNull($value["flat"]);
  181. $d["AA"] = StringCheckNull($value["produk"]);
  182. $d["AB"] = StringCheckNull($value["statusKeputusan"]);
  183. $d["AC"] = dateCheck($date->format('d/m/Y H:i:s'), 'd/m/Y H:i:s', 'd-m-Y H:i:s');
  184. $d["AD"] = StringCheckNull($value["tahunMotor"]);
  185.  
  186. array_push($data_arr, $d);
  187. endforeach;
  188. $sheet->fromArray($data_arr, null, $start . "6", true);
  189.  
  190. $highestRow = $sheet->getHighestRow();
  191. $highestColumn = $sheet->getHighestColumn();
  192.  
  193. $sheet->getStyle("H6:H$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
  194. $sheet->getStyle("AC6:AC$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATETIME);
  195. $sheet->getStyle("J6:J$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_GENERAL);
  196. $sheet->getStyle("P6:X$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_NUMBER);
  197. $sheet->getStyle("Y6:Z$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_NUMBER_COMMAS);
  198.  
  199. $sheet->getStyle("A6:$highestColumn$highestRow")->applyFromArray(LEFT_STYLE);
  200. $sheet->getStyle("A6:$highestColumn$highestRow")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
  201.  
  202. $sheet->freezePane('G6');
  203.  
  204. foreach ($sheet->getColumnIterator() as $column) {
  205. $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
  206. }
  207.  
  208. $sheet->getColumnDimension('J')->setAutoSize(false)->setWidth(20);
  209.  
  210. $sheet->setTitle('Aplikasi');
  211.  
  212. $writer = new Xlsx($spreadsheet);
  213. ob_start();
  214. $timestamp = time();
  215. $flagpassword = 0;
  216. if ($flagpassword == 1) {
  217.  
  218. $password = random_int(100000, 999999);
  219. $filename = $this->generateFileName($iduser) . ".xlsx";
  220. $writer->save($this->path . $filename);
  221.  
  222. $test = new Encrypt();
  223. $test->input($this->path . $filename)->password($password)->output($this->path . "Laporan Aplikasi - " . $timestamp . ".xlsx");
  224.  
  225. $subject = "[MANIFEST]-[" . $pkdcab . "]-Password Laporan Aplikasi " . date('d M Y');
  226. $to = session()->get('email');
  227. $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'>";
  228. $email = sendEmail($subject, $to, null, $message);
  229. if ($email) {
  230. $res = array(
  231. 'op' => 'ok',
  232. 'filename' => $pkdcab . "_" . date('Ymd') . "_Laporan_Aplikasi.xlsx",
  233. 'file' => base_url() . $this->path . "Laporan Aplikasi - " . $timestamp . ".xlsx",
  234. 'message' => 'Silahkan cek email anda untuk mendapatkan password yang digunakan untuk membuka file hasil unduhan ini!'
  235. );
  236. } else {
  237. $res = array(
  238. 'op' => 'fail',
  239. );
  240. }
  241. } else {
  242. $writer->save('php://output');
  243. $xlsData = ob_get_contents();
  244. ob_end_clean();
  245.  
  246. $filename = $pkdcab . "_" . date('Ymd') . "_Laporan_Aplikasi.xlsx";
  247. $res = array(
  248. 'op' => 'ok',
  249. 'data' => $data,
  250. 'filename' => $filename,
  251. 'file' => "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64," . base64_encode($xlsData),
  252. 'message' => "Silahkan buka file excel yang telah di export"
  253. );
  254. }
  255.  
  256. echo json_encode($res);
  257. }
  258.  
  259. public function generateFileName($iduser = null)
  260. {
  261. $secret_key = secretKey();
  262. $filename = hash("sha256",$secret_key . hash("sha256",$iduser) . $secret_key);
  263. return $filename;
  264. }
  265. }
  266.  
  267.  
  268.  
  269. class CetakKwitansiCopy extends BaseController
  270. {
  271. private $module = 'r2/analisa/cabang/operation/cetak-kwitansi-copy/';
  272. private $file = 'analisa/r2/cabang/operation/cetak_kwitansi_copy/';
  273. private $path = "./uploads/temp_xls/";
  274. private $url = "magic/getMagicLaporanCetakKwitansiCopy";
  275.  
  276. public function index(){
  277. $controllerPath = uri_string();
  278. $arrMenu = setNodeidOnRefresh("ANALISA", $controllerPath);
  279. $title = "Cetak Kwitansi Copy";
  280. $module = $this->module;
  281. $file = $this->file;
  282. $data = callParameterIndexFunction($title, $module, $file, $arrMenu);
  283. return view($this->file.'index', $data);
  284. }
  285.  
  286. public function getData()
  287. {
  288. $tgl1 = $this->request->getPost('tgl1');
  289. $tgl2 = $this->request->getPost('tgl2');
  290. $requestbody = requestBody($this->request->getPost());
  291. $paging2 = $this->request->getPost('paging2');
  292. $paging1 = $this->request->getPost('paging1');
  293. $offset = ($paging1 - 1) * $paging2;
  294. $requestbody['tgl1'] = $tgl1;
  295. $requestbody['tgl2'] = $tgl2;
  296. $requestbody['paging1'] = $offset;
  297. $requestbody['paging2'] = $paging2;
  298.  
  299. $url = $this->url;
  300.  
  301. $result = sendApi('POST', $url, $requestbody, 5);
  302.  
  303. if ($result->status == "200") {
  304. $data['rows'] = $result->data;
  305. $data['total'] = $result->total;
  306. $data['status'] = $result->status;
  307. } else {
  308. $data['rows'] = [];
  309. $data['total'] = 0;
  310. $data['status'] = $result->status;
  311. }
  312.  
  313. echo json_encode($data);
  314. }
  315.  
  316. public function downloadData()
  317. {
  318. $excel = new Excel();
  319. $tgl1 = $this->request->getPost('tgl1');
  320. $tgl2 = $this->request->getPost('tgl2');
  321. $filter = setFilterNew($this->request->getPost('filter'));
  322.  
  323. $requestbody = requestBody($this->request->getPost());
  324. $requestbody['paging1'] = null;
  325. $requestbody['paging2'] = null;
  326. $requestbody['tgl1'] = $tgl1;
  327. $requestbody['tgl2'] = $tgl2;
  328.  
  329. $flagpassword = session()->get('flagpassword');
  330.  
  331. $nmwil = $this->request->getPost('nmwil');
  332. $nmarea = $this->request->getPost('nmarea');
  333. $nmcab = $this->request->getPost('nmcab');
  334. $nmcluster = $this->request->getPost('nmcluster');
  335. $pkdcab = $this->request->getPost('pkdcab');
  336. $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');
  337.  
  338. $ket = "";
  339.  
  340. if ($filter == 'ALL') {
  341. $ket = "Nasional";
  342. } elseif ($filter == 'WIL') {
  343. $ket = "Wilayah " . $nmwil;
  344. } elseif ($filter == 'REG') {
  345. $ket = "Regional " . $nmarea;
  346. } elseif ($filter == 'CAB') {
  347. $ket = "Cabang " . $nmcab;
  348. } elseif ($filter == 'WILMORE') {
  349. $ket = "Semua Wilayah";
  350. } elseif ($filter == 'REGMORE') {
  351. $ket = "Semua Regional";
  352. } elseif ($filter == 'CABMORE') {
  353. $ket = "Semua Cabang";
  354. } elseif ($filter == 'CLUST') {
  355. $ket = "Area " . $nmcluster;
  356. }
  357. $title = 'Laporan Cetak Kwitansi Copy';
  358. $date1 = explode('-', $tgl1);
  359. $date2 = explode('-', $tgl2);
  360. $bulan1 = $nmbulan[$date1[1]];
  361. $bulan2 = $nmbulan[$date2[1]];
  362.  
  363. $date = $date1[2] . " $bulan1 " . $date1[0] . " s/d " . $date2[2] . " $bulan2 " . $date2[0];
  364. $url = $this->url;
  365. $response = sendApi('POST', $url, $requestbody, 5);
  366. $data = $response->data;
  367. $data = object_to_array($data);
  368. $data_arr = [];
  369.  
  370. $filename = "Laporan " . session()->get('titlePage') . " Tanggal : " . $tgl1 . " s/d " . $tgl2 . ".xlsx";
  371.  
  372. $spreadsheet = new Spreadsheet();
  373. $sheet = $spreadsheet->getActiveSheet();
  374.  
  375. $sheet->setCellValue('A1', 'PT. Mandala Multifinance, Tbk');
  376. $sheet->setCellValue('A2', "$title $date");
  377. $sheet->setCellValue('A3', $ket);
  378.  
  379. $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"];
  380.  
  381. $start = "A";
  382. $end = Coordinate::stringFromColumnIndex(count($arr));
  383.  
  384. $sheet->fromArray($arr, null, $start . "5");
  385.  
  386. $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setWrapText(true);
  387. $sheet->getStyle($start . "5:" . $end . "5")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('E2E8F0');
  388. $sheet->getStyle($start . "5:" . $end . "5")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
  389. $sheet->getStyle($start . "5:" . $end . "5")->getAlignment()->setHorizontal('center')->setVertical('center');
  390.  
  391. $baris = 6;
  392.  
  393. foreach ($data as $key => $value) :
  394. $d["A"] = StringCheckNull($value["periode"]);
  395. $d["B"] = StringCheckNull($value["wilayah"]);
  396. $d["C"] = StringCheckNull($value["nmreg"]);
  397. $d["D"] = StringCheckNull($value["area"]);
  398. $d["E"] = StringCheckNull($value["kdprs"]);
  399. $d["F"] = StringCheckNull($value['nmcab']);
  400. $d["G"] = StringCheckNull($value["nobook"]);
  401. $d["H"] = dateCheck($value['tglbook']);
  402. $d["I"] = StringCheckNull($value["nmkons"]);
  403. $d["J"] = StringCheckNull($value["angKe"]);
  404. $d["K"] = StringCheckNull($value["angs"]);
  405. $d["L"] = StringCheckNull($value["nokwit"]);
  406. $d["M"] = dateCheck($value['tgljt']);
  407. $d["N"] = dateCheck($value['tglcetak']);
  408. $d["O"] = StringCheckNull($value["userid"]);
  409. $d["P"] = StringCheckNull($value["alasan"]);
  410. $d["Q"] = dateCheck($value['tglvoucher']);
  411. array_push($data_arr, $d);
  412. endforeach;
  413.  
  414. $sheet->fromArray($data_arr, null, $start . "6", true);
  415.  
  416. $highestRow = $sheet->getHighestRow();
  417. $highestColumn = $sheet->getHighestColumn();
  418.  
  419. $sheet->getStyle("G6:G$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_GENERAL);
  420. $sheet->getStyle("J6:K$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_NUMBER);
  421. $sheet->getStyle("H6:H$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
  422. $sheet->getStyle("M6:N$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
  423. $sheet->getStyle("Q6:Q$highestRow")->getNumberFormat()->setFormatCode($excel::FORMAT_DATE);
  424.  
  425. $sheet->mergeCells("A1:" . $highestColumn . "1");
  426. $sheet->mergeCells("A2:" . $highestColumn . "2");
  427. $sheet->mergeCells("A3:" . $highestColumn . "3");
  428.  
  429. $sheet->getStyle("A6:Q$highestRow")->applyFromArray(LEFT_STYLE);
  430.  
  431. $sheet->getStyle($start . "6:$highestColumn$highestRow")->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
  432.  
  433. $sheet->freezePane('G6');
  434.  
  435. foreach ($sheet->getColumnIterator() as $column) {
  436. $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
  437. }
  438.  
  439. $sheet->getColumnDimension('D')->setAutoSize(false)->setWidth(15);
  440.  
  441. $sheet->setTitle('CETAK KWITANSI');
  442.  
  443. $writer = new Xlsx($spreadsheet);
  444. ob_start();
  445. $flagpassword = 0;
  446. if ($flagpassword == 1) {
  447. $timestamp = time();
  448.  
  449. $password = random_int(100000, 999999);
  450. $filename = $this->generateFileName($iduser) . ".xlsx";
  451. $writer->save($this->path . $filename);
  452.  
  453. $test = new Encrypt();
  454. $test->input($this->path . $filename)->password($password)->output($this->path . "Laporan Cetak Kwitansi Copy - " . $timestamp . ".xlsx");
  455.  
  456. $subject = "[MANIFEST]-[" . $pkdcab . "]-Password $title " . date('d M Y');
  457. $to = session()->get('email');
  458. $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'>";
  459. $email = sendEmail($subject, $to, null, $message);
  460.  
  461. if ($email) {
  462. $res = array(
  463. 'op' => 'ok',
  464. 'filename' => $pkdcab . "_" . date('Ymd') . "_Laporan_Cetak_Kwitansi.xlsx",
  465. 'file' => base_url() . $this->path . "Laporan Cetak Kwitansi Copy - " . $timestamp . ".xlsx",
  466. 'message' => 'Silahkan cek email anda untuk mendapatkan password yang digunakan untuk membuka file hasil unduhan ini!'
  467. );
  468. } else {
  469. $res = array('message' => 'Gagal mengirim email');
  470. }
  471. } else {
  472. $writer->save('php://output');
  473. $xlsData = ob_get_contents();
  474. ob_end_clean();
  475.  
  476. $filename = $pkdcab . "_" . date('Ymd') . "_Laporan_Cetak_Kwitansi.xlsx";
  477. $res = array(
  478. 'op' => 'ok',
  479. 'filename' => $filename,
  480. 'file' => "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64," . base64_encode($xlsData),
  481. 'message' => "Silahkan buka file excel yang telah di export"
  482. );
  483. }
  484. echo json_encode($res);
  485. }
  486.  
  487. public function generateFileName($iduser = null)
  488. {
  489. $secret_key = secretKey();
  490. $filename = hash("sha256",$secret_key . hash("sha256",$iduser) . $secret_key);
  491. return $filename;
  492. }
  493. }
  494.  
Add Comment
Please, Sign In to add comment