diff --git a/src/app/disposisi/js/main.js b/src/app/disposisi/js/main.js new file mode 100644 index 0000000..a1862fa --- /dev/null +++ b/src/app/disposisi/js/main.js @@ -0,0 +1,165 @@ +function hitungSurat(url, prefix) { + return function() { + var thn_count = $('#thn').val(); + var satker_count = $('#cek_satker').val(); + $.ajax({ + type: "POST", + url: url, + data: { + thn_count: thn_count, + satker_count: satker_count + }, + success: function(data) { + var b = data.split('^'); + var months = [ + 'JANUARI', 'PEBRUARI', 'MARET', 'APRIL', 'MEI', 'JUNI', + 'JULI', 'AGUSTUS', 'SEPTEMBER', 'OKTOBER', 'NOPEMBER', 'DESEMBER' + ]; + + months.forEach(function(month, index) { + var monthIndex = index + 1; + var elementId = `#${prefix}${monthIndex}`; + var count = b[index]; + if (count == 0) { + $(elementId).html(month); + $(elementId).removeAttr("style"); + } else { + $(elementId).html(`${month} (${count})`); + $(elementId).css('color', 'red'); + } + }); + } + }); + }; + } + + // Determine which function to use based on sess_jenis + if (sess_jenis == 'Admin') { + var hitung_surat = hitungSurat('app/disposisi/count_dispo.php', 'dcn'); + } else { + var hitung_surat = hitungSurat('app/disposisi/count.php', 'cn'); + } + + // Initial call and event bindings + hitung_surat(); + $('#thn').focusout(hitung_surat); + + // Function to load table data + function loadTable() { + var thn2 = $('#thn').val(); + var bln2 = $('#bln').val(); + var params = { + satker: sess_satker, + jenis: sess_jenis, + thn2: thn2, + bln2: bln2 + }; + + if (sess_jenis == 'Admin') { + params.disp_pros = $('#disp_pros').val(); + } else { + params.disp_kpl = $('#disp_kpl').val(); + params.disp_sifat = $('#disp_sifat').val(); + } + + $('#tabel_disposisi').load("app/disposisi/tabel.php", params); + } + + // Initial call and event bindings for table loading + loadTable(); + $('#disp_pros, #disp_kpl, #disp_sifat, #bln').change(loadTable); + $('#thn').focusout(loadTable); + + + $('#tambah_disposisi').click(function() { + $.post('app/smasuk/main.php', { + surat_id: 0, + sess_nama: sess_nama, + sess_jenis: sess_jenis, + nampeg: nampeg, + jenis_disposisi: 'Disposisi', + jenis_disposisi_id: '1' + }, function(html) { + $("#main_tag").html(html); + }); + }); + + function loadModalTools(b, thn) { + $('#modal_tools').modal('show'); + $('#modal_body_tools').html(''); + $.post("app/disposisi/modal_tools.php", { + b: b, + thn: thn + }, function(data) { + $('#modal_body_tools').html(data); + }); + } + + $('#b1').click(function() { + var b = $('#pt1').val(); + var thn = $('#thn1').val(); + $.post("app/disposisi/crud.php", { + b: b, + thn: thn, + key: 'cek_noag' + }, function(data) { + if (data == 0) { + alert('Data tidak ditemukan..'); + } else { + loadModalTools(b, thn); + } + }); + }); + + function handleEnterKey(event) { + if (event.keyCode == 13) { + $('#b1').trigger('click'); + } + } + + $('#simpan_k').click(function() { + var kirim_id = $('#kirim_id').val(); + $.post("app/disposisi/crud.php", { + id: kirim_id, + tgl_input: $('#tgl_input').val(), + dis_baca: $('#dis_baca').val(), + lama: $('#lama').val(), + isi: $('#isi_disposisi_edit').val(), + key: 'edit_k' + }, function() { + $('#modal_k').modal('hide'); + $('body').removeClass('modal-open'); + $('.modal-backdrop').remove(); + alert('tersimpan..'); + $('#tabel_k').load('app/disposisi/tabel_k.php', { + no_agenda: no_agenda, + thn: thn + }); + }); + }); + + $('#simpan_s').click(function() { + $.post("app/disposisi/crud.php", { + id: $('#surat_id').val(), + no_surat: $('#no_surat').val(), + tgl_diterima: $('#tgl_diterima').val(), + key: 'edit_s' + }, function() { + $('#modal_s').modal('hide'); + $('body').removeClass('modal-open'); + $('.modal-backdrop').remove(); + alert('tersimpan..'); + $('#tabel_s').load('app/disposisi/tabel_s.php', { + no_agenda: no_agenda, + thn: thn + }); + }); + }); + + $(document).on('hidden.bs.modal', function() { + if ($('.modal:visible').length) { + $('body').addClass('modal-open'); + } + }); + + $('#pt1').keypress(handleEnterKey); \ No newline at end of file diff --git a/src/app/disposisi/main.php b/src/app/disposisi/main.php index 1fbacab..c3894d1 100644 --- a/src/app/disposisi/main.php +++ b/src/app/disposisi/main.php @@ -1,245 +1,196 @@ -



- -
-
-
- -
-
- -
- -
-
- - - - - -
-
+
+
+
+ +
+
+ +
+ +
+
+ + + + + +
+
-
-
- - -
-
+
+
+ + +
+
-
-
-
- -
-
-

Disposisi

-
-
- -
-
- -
+
+
+
+ +
+
+

Disposisi

+
+
+ +
+
+ +
+
+
+ + +
+
+
- -
-
- - -
-
- -
- - - + + + + + + + - - \ No newline at end of file diff --git a/src/app/inbox/modal.php b/src/app/inbox/modal.php index 80b4e7f..c520611 100644 --- a/src/app/inbox/modal.php +++ b/src/app/inbox/modal.php @@ -2,11 +2,10 @@ include("../koneksi.php"); $surat_id = $_POST['id']; $flag_pengesahan = $_POST['flag_pengesahan']; +$baseURL = '../../../public/doc/'; ?> - +
+

- - work-thumbnail - +
+ work-thumbnail +
@@ -36,26 +36,21 @@ while ($rdok = pg_fetch_array($dok)) { - \ No newline at end of file diff --git a/src/app/inbox/modal_file.php b/src/app/inbox/modal_file.php index e6ca8dc..371c4f3 100644 --- a/src/app/inbox/modal_file.php +++ b/src/app/inbox/modal_file.php @@ -2,26 +2,27 @@ include('../koneksi.php'); $surat_id = $_POST['id']; $flag_pengesahan = $_POST['flag_pengesahan']; +$baseURL = '../../../public/doc/'; ?>
- +
- - - E-LETTER RSSA - - - - + + + E-LETTER RSSA + - + "> + $d = pg_query($koneksi, "SELECT file FROM scan WHERE id='$id'"); + while ($r = pg_fetch_array($d)) { + $file = $r[0]; + } + ?> - + + + + + - \ No newline at end of file diff --git a/src/app/kendali/tabel.php b/src/app/kendali/tabel.php index 58ae480..b9c8eb3 100644 --- a/src/app/kendali/tabel.php +++ b/src/app/kendali/tabel.php @@ -1,38 +1,46 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + while ($r = pg_fetch_array($data)) { + ?> + + + + + + + + + + +
No KendaliTgl-JamPengolahPerihalJenisTools
No KendaliTgl-JamPengolahPerihalJenisTools
'.date('d-m-Y',strtotime($r['tgl_diterima'])).'
'.date('H:i',strtotime($r['jam_diterima'])).''; ?>
- - - - - - - -
' . date('d-m-Y', strtotime($r['tgl_diterima'])) . '
' . date('H:i', strtotime($r['jam_diterima'])) . ''; ?>
+ + + + + + + +
\ No newline at end of file + $("#tabel_data_smasuk").on('click', '.edit_kendali', function() { + var id = $(this).attr('id'); + var jenis = $('#jenis').val(); + $.post('app/smasuk/main.php', { + surat_id: id, + jenis: jenis + }, function(html) { + $("#main_tag").html(html); + }); + }); + \ No newline at end of file diff --git a/src/app/kirim/delete.php b/src/app/kirim/delete.php index f2dbf6a..2599d7a 100644 --- a/src/app/kirim/delete.php +++ b/src/app/kirim/delete.php @@ -1,11 +1,14 @@ - + \ No newline at end of file diff --git a/src/app/kirim/pdf/crud.php b/src/app/kirim/pdf/crud.php index dfb1efb..805ac16 100644 --- a/src/app/kirim/pdf/crud.php +++ b/src/app/kirim/pdf/crud.php @@ -9,7 +9,7 @@ if ($key == 'delete_cv') { $fil = $r[0]; } $del_pr = pg_query($koneksi, "DELETE FROM scan WHERE id='$id'"); - $path = "pdf/" . $fil; + $path = "../../../public/doc/kirim_surat/dok/" . $fil; if (file_exists($path)) { unlink($path); } diff --git a/src/app/kirim/pdf/tabel_upl_cv.php b/src/app/kirim/pdf/tabel_upl_cv.php index b66f463..ceeab6a 100644 --- a/src/app/kirim/pdf/tabel_upl_cv.php +++ b/src/app/kirim/pdf/tabel_upl_cv.php @@ -22,7 +22,7 @@ while ($rdata_pdf = pg_fetch_array($data_pdf)) { } else { ?>
- + diff --git a/src/app/kirim/upload_dok.php b/src/app/kirim/upload_dok.php index 66f528f..0d6498f 100644 --- a/src/app/kirim/upload_dok.php +++ b/src/app/kirim/upload_dok.php @@ -1,18 +1,10 @@ 'error', 'message' => 'File tidak diizinkan.
Hanya PDF, Word, Excel size max 1 Mb yang diperbolehkan.'); echo json_encode($response); exit; } if ($file_size > $max_size) { + http_response_code(400); $response = array('icon' => 'error', 'message' => 'File yang diupload terlalu besar. Ukuran maksimum adalah 1MB.'); echo json_encode($response); exit; @@ -38,24 +39,26 @@ switch ($key) { $name_pdf = null; } - $find = pg_fetch_assoc(pg_query($koneksi, "SELECT id FROM naskah_dinas WHERE id = $id")); + $find = pg_fetch_assoc(pg_query($koneksi, "SELECT id FROM tmplt_naskah_dinas WHERE id = $id")); if (!$find) { - $get_id = pg_fetch_assoc(pg_query($koneksi, "SELECT COALESCE(MAX(id), 0) + 1 AS id FROM naskah_dinas;")); + $get_id = pg_fetch_assoc(pg_query($koneksi, "SELECT COALESCE(MAX(id), 0) + 1 AS id FROM tmplt_naskah_dinas;")); $new_id = (int)$get_id['id']; if ($name_pdf && !move_uploaded_file($tmp_name, $name)) { + http_response_code(400); $response = array('icon' => 'error', 'message' => 'Gagal upload file.'); echo json_encode($response); exit; } - $ins = pg_query_params($koneksi, "INSERT INTO naskah_dinas (id, keterangan, status, nama_file) VALUES($1, $2, $3, $4)", array($new_id, $nm_file, 1, $name_pdf)); + $ins = pg_query_params($koneksi, "INSERT INTO tmplt_naskah_dinas (id, keterangan, status, nama_file) VALUES($1, $2, $3, $4)", array($new_id, $nm_file, 1, $name_pdf)); if (!$ins) { + http_response_code(400); $response = array('icon' => 'error', 'message' => 'Gagal insert data ke database.'); echo json_encode($response); exit; } - + http_response_code(200); $response = array('icon' => 'success', 'message' => 'File berhasil diupload dan disimpan ke database.'); } else { $update_fields = "keterangan = $1"; @@ -64,6 +67,7 @@ switch ($key) { if ($name_pdf) { if (!move_uploaded_file($tmp_name, $name)) { + http_response_code(400); $response = array('icon' => 'error', 'message' => 'Gagal upload file.'); echo json_encode($response); exit; @@ -73,16 +77,16 @@ switch ($key) { } $params[] = $id; - $updt = pg_query_params($koneksi, "UPDATE naskah_dinas SET $update_fields WHERE id = $" . $param_index, $params); + $updt = pg_query_params($koneksi, "UPDATE tmplt_naskah_dinas SET $update_fields WHERE id = $" . $param_index, $params); if (!$updt) { + http_response_code(400); $response = array('icon' => 'error', 'message' => 'Gagal update data di database.'); echo json_encode($response); exit; } - + http_response_code(200); $response = array('icon' => 'success', 'message' => 'Data berhasil diperbarui.'); } - echo json_encode($response); break; @@ -91,25 +95,33 @@ switch ($key) { $dir = "../../../public/doc/master/"; // Mendapatkan nama file dari database berdasarkan id - $query = pg_query_params($koneksi, "SELECT nama_file FROM naskah_dinas WHERE id = $1", array($id_)); + $query = pg_query_params($koneksi, "SELECT nama_file FROM tmplt_naskah_dinas WHERE id = $1", array($id_)); $result = pg_fetch_assoc($query); if ($result) { // Mengupdate nilai nama_file di database menjadi kosong - $path = $dir."template_naskah/" . $result['nama_file']; + $path = $dir . "template_naskah/" . $result['nama_file']; if (file_exists($path)) { // Mencoba menghapus file dari sistem file if (unlink($path)) { - pg_query_params($koneksi, "UPDATE naskah_dinas SET nama_file = '' WHERE id = $1", array($id_)); + pg_query_params($koneksi, "UPDATE tmplt_naskah_dinas SET nama_file = '' WHERE id = $1", array($id_)); + http_response_code(200); echo json_encode(['icon' => 'success', 'message' => 'File telah dihapus.']); + exit; } else { + http_response_code(400); echo json_encode(['icon' => 'error', 'message' => 'Gagal menghapus file.']); + exit; } } else { + http_response_code(400); echo json_encode(['icon' => 'error', 'message' => 'File tidak ditemukan.']); + exit; } } else { + http_response_code(400); echo json_encode(['icon' => 'error', 'message' => 'Data tidak ditemukan.']); + exit; } break; default: diff --git a/src/app/master/naskah_dinas/js/main.js b/src/app/master/naskah_dinas/js/main.js index b362745..e206ae5 100644 --- a/src/app/master/naskah_dinas/js/main.js +++ b/src/app/master/naskah_dinas/js/main.js @@ -25,11 +25,8 @@ $(document).on("click", "#tmbh_naskah", function () { }); $("#simpan_naskah").click(function () { - // var id = ($('#id_naskah').val() == '0') ? 0 : $('#id_naskah').val(); var formData = new FormData($('#form_naskah')[0]); - // Append data to formData - // formData.append('id',id); formData.append('id',$('#naskah_id').val()); formData.append('nama', $('#nama_file').val()); formData.append('file_naskah', $('#file_naskah')[0].files[0]); @@ -55,28 +52,6 @@ $("#simpan_naskah").click(function () { }); }); -// $('button[name="edit_naskah"]').click(function () { -// var id = $(this).data('id'); // Mengambil ID dari atribut data-id - -// $.ajax({ -// type: 'POST', -// url: '"app/master/naskah_dinas/controller.php', // Ganti dengan URL yang sesuai -// data: { id: id }, -// success: function (response) { -// // Lakukan sesuatu dengan respon dari server -// // Misalnya, memperbarui modal dengan data yang diambil -// $('#modal-body').html(response); -// $('#editModal').modal('show'); -// }, -// error: function (xhr, status, error) { -// console.error('AJAX request failed:', status, error); -// } -// }); -// }); - - - - function infoToast(icone, infone) { Swal.fire({ // position: posisine, diff --git a/src/app/master/naskah_dinas/modal.php b/src/app/master/naskah_dinas/modal.php index ea2b231..df5ee4e 100644 --- a/src/app/master/naskah_dinas/modal.php +++ b/src/app/master/naskah_dinas/modal.php @@ -1,7 +1,8 @@ Files
- + @@ -27,24 +28,26 @@ while ($row = pg_fetch_assoc($data)) { @@ -38,17 +36,26 @@ var sess_nampeg = $('#cek_nampeg').val();

- \ No newline at end of file diff --git a/src/app/smasuk/modal.php b/src/app/smasuk/modal.php index 48a2236..11d9edc 100644 --- a/src/app/smasuk/modal.php +++ b/src/app/smasuk/modal.php @@ -1,592 +1,254 @@ - - +
-
- -
-
-

  - - - - - -Input 

-
+
+ +
+
+

  + + + + + + Input  +

+

+ +
-
+
- - + + -
+
-
+
- - - - - - - - - -
+ + + + + + + + + +
-
+
- -
+ +
- - - - -
+
- - - - - - - - - -
+ + + + + + + + + +
-
- - " - > -
+
+ + +
- -
+ +
-
+
-
+
- -
+ +
-
+
- -
+ +
-
- - " - > -
+
+ + +
-
+
- -
- -
- -
-
-

Upload Dokumen

-

- + +
+
+ +
Lampirkan Dokumen
+
+
+ - - - + + \ No newline at end of file diff --git a/src/app/smasuk/pdf/crud.php b/src/app/smasuk/pdf/crud.php index 30f7367..f5d36f2 100644 --- a/src/app/smasuk/pdf/crud.php +++ b/src/app/smasuk/pdf/crud.php @@ -1,13 +1,20 @@ \ No newline at end of file +$key = $_POST['key']; +if ($key == 'delete_cv') { + $id = $_POST['id']; + $d = pg_query($koneksi, "SELECT file FROM scan WHERE id='$id'"); + while ($r = pg_fetch_array($d)) { + $fil = $r[0]; + } + $del_pr = pg_query($koneksi, "DELETE FROM scan WHERE id='$id'"); + $path = "../../../public/doc/smasuk/dok/" . $fil; + if (file_exists($path)) { + unlink($path); + http_response_code(200); + echo json_encode(['icon'=>'success','message'=>'File Telah Dihapus']); + }else{ + http_response_code(200); + echo json_encode(['icon'=>'error','message'=>'File Gagal Dihapus']); + } +} diff --git a/src/app/smasuk/pdf/tabel_upl_cv.php b/src/app/smasuk/pdf/tabel_upl_cv.php index ec27f11..1daaf01 100644 --- a/src/app/smasuk/pdf/tabel_upl_cv.php +++ b/src/app/smasuk/pdf/tabel_upl_cv.php @@ -1,47 +1,67 @@ - - - -
- - -
- + + + +
+ + +
+ \ No newline at end of file diff --git a/src/app/smasuk/pdf/upl_cv.php b/src/app/smasuk/pdf/upl_cv.php index e18e745..b6e5c47 100644 --- a/src/app/smasuk/pdf/upl_cv.php +++ b/src/app/smasuk/pdf/upl_cv.php @@ -1,16 +1,98 @@ $_FILES,'id'=>$surat_id]);die(); + +if (!in_array($file_type, $allowed_types)) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'File tidak diizinkan.
Hanya PDF, Word, Excel size max 1 Mb yang diperbolehkan.'); + echo json_encode($response); + exit; +} +if ($file_size > $max_size) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'File yang diupload terlalu besar. Ukuran maksimum adalah 1MB.'); + echo json_encode($response); + exit; +} $tmp_name = $_FILES["input_load_cv"]["tmp_name"]; -$name = $folder."/".$surat_id."_".$_FILES["input_load_cv"]["name"]; -$name_pdf = $surat_id."_".$_FILES["input_load_cv"]["name"]; - -move_uploaded_file($tmp_name, $name); -$del=pg_query("DELETE FROM scan WHERE surat_id='$surat_id'"); -$ins=pg_query("INSERT INTO scan (surat_id,file) VALUES ( - '$surat_id','$name_pdf')"); -?> +$name = $baseURL . $folder . "/" . $surat_id . "_" . $_FILES["input_load_cv"]["name"]; +$name_pdf = $surat_id . "_" . $_FILES["input_load_cv"]["name"]; + +$temp_file = pg_query($koneksi, "SELECT file AS nm_file FROM scan WHERE surat_id = $surat_id"); +$file = pg_fetch_assoc($temp_file); + +if (empty($file['nm_file'])) { + $ins = pg_query($koneksi, "INSERT INTO scan (surat_id,file) VALUES ( + $surat_id,'$name_pdf')"); + if (!$ins) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'Gagal insert data ke database.'); + echo json_encode($response); + exit; + } + if (!move_uploaded_file($tmp_name, $name)) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'Gagal upload file.'); + echo json_encode($response); + exit; + } + $response = ['surat_id' => $surat_id, 'icon' => 'success', 'message' => 'File berhasil diupload dan disimpan ke database.']; + http_response_code(200); + echo json_encode($response); +} else { + $path = "../../../public/doc/smasuk/dok/" . $file['nm_file']; + // var_dump($path);die(); + if (file_exists($path)) { + unlink($path); + if (!move_uploaded_file($tmp_name, $name)) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'Gagal upload file.'); + echo json_encode($response); + exit; + } + pg_query($koneksi, "UPDATE scan SET file = '$name_pdf' WHERE surat_id = $surat_id"); + http_response_code(200); + echo json_encode(['icon' => 'success', 'message' => 'Lampiran telah Diubah']); + } else { + http_response_code(400); + echo json_encode(['icon' => 'error', 'message' => 'File Tidak ada']); + } +} + + + + + +// Cek apakah file berhasil diupload +// +// $del = pg_query($koneksi, "DELETE FROM scan WHERE surat_id=$surat_id"); +// if (!$del) { +// http_response_code(400); +// $response = array('icon' => 'error', 'message' => 'Gagal haapus data ke database.'); +// echo json_encode($response); +// exit; +// } else { + +// $path = "../../../public/doc/smasuk/dok/" . $file['nm_file']; +// if (file_exists($path)) { +// unlink($path); +// } +// } diff --git a/src/app/smasuk/upload.php b/src/app/smasuk/upload.php index 3d08866..1a1f0fa 100644 --- a/src/app/smasuk/upload.php +++ b/src/app/smasuk/upload.php @@ -1,136 +1,161 @@ - +
-
- - - -
- -
- - - - + + + +
-
+
- - - + + - + function infoToast(icone, infone) { + Swal.fire({ + // position: posisine, + icon: icone, + title: infone, + showConfirmButton: false, + timer: 2500 + }); + } + \ No newline at end of file diff --git a/src/app/spengesahan/controller.php b/src/app/spengesahan/controller.php index 59b0e62..dd82810 100644 --- a/src/app/spengesahan/controller.php +++ b/src/app/spengesahan/controller.php @@ -74,24 +74,24 @@ switch ($key) { $satuan_kerja_id = $_POST['satuan_kerja_id']; $result = pg_query($koneksi, "SELECT MIN(k.id) AS kirimidmn - FROM kirim k - INNER JOIN surat s ON k.surat_id = s.id - LEFT JOIN teruskan t ON k.id = t.kirim_id_untuk - WHERE k.kepada IS NOT NULL AND k.surat_id = $surat_id - AND t.jabatan_dari IS NULL AND k.satuan_kerja_penginput = $satuan_kerja_id - "); - $row = pg_fetch_assoc($result); - $kirimidmn = $row['kirimidmn']; + FROM kirim k + INNER JOIN surat s ON k.surat_id = s.id + LEFT JOIN teruskan t ON k.id = t.kirim_id_untuk + WHERE k.kepada IS NOT NULL AND k.surat_id = $surat_id + AND t.jabatan_dari IS NULL AND k.satuan_kerja_penginput = $satuan_kerja_id + "); + $row = pg_fetch_assoc($result); + $kirimidmn = $row['kirimidmn']; - pg_query($koneksi, "DELETE FROM kirim WHERE surat_id = $surat_id AND id = $kirimidmn"); - pg_query($koneksi, "DELETE FROM kirim WHERE surat_id = $surat_id AND satuan_kerja_penginput <> $satuan_kerja_id"); + pg_query($koneksi, "DELETE FROM kirim WHERE surat_id = $surat_id AND id = $kirimidmn"); + pg_query($koneksi, "DELETE FROM kirim WHERE surat_id = $surat_id AND satuan_kerja_penginput <> $satuan_kerja_id"); - $result = pg_query($koneksi, "SELECT MIN(k.id) AS kirimid - FROM kirim k - INNER JOIN surat s ON k.surat_id = s.id - LEFT JOIN teruskan t ON k.id = t.kirim_id_untuk - WHERE k.kepada IS NOT NULL AND k.surat_id = $surat_id - AND t.jabatan_dari IS NULL AND k.satuan_kerja_penginput = $satuan_kerja_id + $result = pg_query($koneksi, "SELECT MIN(k.id) AS kirimid + FROM kirim k + INNER JOIN surat s ON k.surat_id = s.id + LEFT JOIN teruskan t ON k.id = t.kirim_id_untuk + WHERE k.kepada IS NOT NULL AND k.surat_id = $surat_id + AND t.jabatan_dari IS NULL AND k.satuan_kerja_penginput = $satuan_kerja_id "); $row = pg_fetch_assoc($result); $kirimid = $row['kirimid']; @@ -342,38 +342,6 @@ switch ($key) { } echo $hsl; break; - // case 'pengajuan_ulang': - // $surat_id = $_POST['surat_id']; - // var_dump($surat_id); - // pg_query($koneksi, "UPDATE surat SET stts_kendali =98 WHERE id=$surat_id "); - // break; - case 'selesai_kepada_tl': - $surat_id = $_POST['surat_id']; - $kepada = $_POST['kepada']; - $satuan_kerja_penginput = $_POST['satuan_kerja_penginput']; - - foreach ($kepada as $kpd) { - $cek_satker = pg_query($koneksi, "SELECT id FROM kirim WHERE surat_id='$surat_id' AND kepada='$kpd' AND satuan_kerja_penginput='$satuan_kerja_penginput' AND satuan_kerja_tujuan IS NULL"); - $row_satker = pg_fetch_row($cek_satker); - // var_dump($kpd); - // die(); - if ($row_satker[0] == 0) { - $cdata = pg_query($koneksi, "SELECT COUNT(*) FROM kirim WHERE surat_id='$surat_id' AND satuan_kerja_penginput='$satuan_kerja_penginput' AND satuan_kerja_tujuan IS NULL"); - $rcdata = pg_fetch_array($cdata); - $jdata = $rcdata[0]; - - if ($jdata == 0) { - $inp = pg_query($koneksi, "INSERT INTO kirim (surat_id, kepada, tgl_input, jam_input, satuan_kerja_penginput) VALUES ('$surat_id', '$kpd', NOW(), NOW(), '$satuan_kerja_penginput')"); - } else { - $inp = pg_query($koneksi, "INSERT INTO kirim (surat_id, kepada, tgl_input, jam_input, satuan_kerja_penginput, isi) VALUES ('$surat_id', '$kpd', NOW(), NOW(), '$satuan_kerja_penginput', 'SM')"); - } - } - } - - - echo json_encode(['icon' => 'success', 'message' => 'Kirim Tujuan sudah Ditambahkan']); - break; - break; case "gagal": echo 'gagaaaaaal'; break; diff --git a/src/app/spengesahan/main.php b/src/app/spengesahan/main.php index 274025f..f934d4f 100644 --- a/src/app/spengesahan/main.php +++ b/src/app/spengesahan/main.php @@ -31,15 +31,6 @@ if (($disp_thn == NULL) || ($disp_thn == '')) {

Surat Pengesahan

-
- +
-
  • Naskah Dinas
  • - + +
  • + '> +
  • +
    -
    @@ -299,8 +295,8 @@ if (($disp_thn == NULL) || ($disp_thn == '')) { overflow: hidden; transition: max-height 0.2s ease-out; background-color: white; - position:fixed; - z-index: 1; + position: fixed; + z-index: 1; } .container-download .has_sub { diff --git a/src/app/spengesahan/modal_edit.php b/src/app/spengesahan/modal_edit.php index 6bcdd26..1d972a2 100644 --- a/src/app/spengesahan/modal_edit.php +++ b/src/app/spengesahan/modal_edit.php @@ -33,7 +33,7 @@ while ($row = pg_fetch_assoc($query_sifat)) { $kd_surat_options = ''; $query_kdSurat = $kd_surat_id !== '' ? pg_query_params($koneksi, 'SELECT id, kode, keterangan FROM kode WHERE id = $1', array($kd_surat_id)) - : pg_query($koneksi, 'SELECT id, kode, keterangan FROM kode'); + : pg_query($koneksi, 'SELECT id, kode, keterangan FROM kode WHERE status = 1'); while ($row = pg_fetch_assoc($query_kdSurat)) { $kd_surat_options .= ""; $kd_surat_optionsssss .= ""; @@ -88,7 +88,8 @@ $perihal = $result_surat['perihal'] ?? '';
    -     
    diff --git a/src/app/spengesahan/pdf/crud.php b/src/app/spengesahan/pdf/crud.php index dfb1efb..83963c8 100644 --- a/src/app/spengesahan/pdf/crud.php +++ b/src/app/spengesahan/pdf/crud.php @@ -1,16 +1,40 @@ 'success', 'message' => 'Berhasil Dihapus..!!']); + } else { + http_response_code(404); + echo json_encode(['icon' => 'error', 'message' => 'File tidak ditemukan.']); + } + } else { + http_response_code(500); + echo json_encode(['icon' => 'error', 'message' => 'Gagal menghapus data dari database.']); + } + } else { + http_response_code(404); + echo json_encode(['icon' => 'error', 'message' => 'Data tidak ditemukan.']); + } + } else { + http_response_code(500); + echo json_encode(['icon' => 'error', 'message' => 'Gagal mengambil data dari database.']); } } diff --git a/src/app/spengesahan/pdf/pdf/198144_Nota Dinas.doc b/src/app/spengesahan/pdf/pdf/198144_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/spengesahan/pdf/pdf/198144_Nota Dinas.doc differ diff --git a/src/app/spengesahan/pdf/pdf/198145_Nota Dinas.doc b/src/app/spengesahan/pdf/pdf/198145_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/spengesahan/pdf/pdf/198145_Nota Dinas.doc differ diff --git a/src/app/spengesahan/pdf/pdf/198146_Nota Dinas.doc b/src/app/spengesahan/pdf/pdf/198146_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/spengesahan/pdf/pdf/198146_Nota Dinas.doc differ diff --git a/src/app/spengesahan/pdf/pdf/198147_Nota Dinas.doc b/src/app/spengesahan/pdf/pdf/198147_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/spengesahan/pdf/pdf/198147_Nota Dinas.doc differ diff --git a/src/app/spengesahan/pdf/tabel_upl_cv.php b/src/app/spengesahan/pdf/tabel_upl_cv.php index f70934f..6f39849 100644 --- a/src/app/spengesahan/pdf/tabel_upl_cv.php +++ b/src/app/spengesahan/pdf/tabel_upl_cv.php @@ -5,6 +5,9 @@ if ($_POST['surat_idzz']) { } else { $surat_id = '0'; } + +$baseURL = '../../../public/doc/'; +$folder = 'spengesahan/dok/'; ?>
    - - + @@ -43,7 +45,10 @@ while ($rdata_pdf = pg_fetch_array($data_pdf)) { $.ajax({ type: "POST", url: "app/spengesahan/pdf/crud.php", - data:{id:id,key:key}, + data: { + id: id, + key: key + }, success: function(data) { var surat_id = $('#surat_idxz').val(); $('#tabel_upl_cvz').load("app/spengesahan/pdf/tabel_upl_cv.php", { @@ -53,7 +58,10 @@ while ($rdata_pdf = pg_fetch_array($data_pdf)) { $.ajax({ type: "POST", url: "app/spengesahan/crud.php", - data: {surat_id:surat_id,key:key}, + data: { + surat_id: surat_id, + key: key + }, success: function(data) { $('.sr' + surat_id).html(' (' + data + ')'); $('.xr' + surat_id).html(data); diff --git a/src/app/spengesahan/pdf/upl_cv.php b/src/app/spengesahan/pdf/upl_cv.php index 14c3e28..2291f1d 100644 --- a/src/app/spengesahan/pdf/upl_cv.php +++ b/src/app/spengesahan/pdf/upl_cv.php @@ -2,7 +2,8 @@ include("../../koneksi.php"); $surat_id = $_POST['surat_id_uploadz']; -$folder = "pdf"; +$baseURL = '../../../public/doc/'; +$folder = 'spengesahan/dok/'; // Cek apakah file yang diupload adalah PDF atau Dokumen Word $allowed_types = array( @@ -18,7 +19,7 @@ $max_size = 1087152; // max 1Mb if (!in_array($file_type, $allowed_types)) { - $response = array('status' => 'error', 'message' => 'File tidak diizinkan.
    Hanya PDF, Word, , Excel size max 1 Mb yang diperbolehkan.'); + $response = array('status' => 'error', 'message' => 'File tidak diizinkan.
    Hanya PDF, Word, Excel size max 1 Mb yang diperbolehkan.'); echo json_encode($response); exit; } @@ -29,7 +30,7 @@ if ($file_size > $max_size) { } $tmp_name = $_FILES["input_load_cvz"]["tmp_name"]; -$name = $folder . "/" . $surat_id . "_" . $_FILES["input_load_cvz"]["name"]; +$name = $baseURL.$folder . $surat_id . "_" . $_FILES["input_load_cvz"]["name"]; $name_pdf = $surat_id . "_" . $_FILES["input_load_cvz"]["name"]; // Cek apakah file berhasil diupload diff --git a/src/app/spengesahan/tabel_kepada.php b/src/app/spengesahan/tabel_kepada.php index 40d2c80..74955f9 100644 --- a/src/app/spengesahan/tabel_kepada.php +++ b/src/app/spengesahan/tabel_kepada.php @@ -35,7 +35,6 @@ $satuan_kerja_id = $_POST['satuan_kerja_id']; @@ -102,9 +95,7 @@ while ($rn = pg_fetch_array($n)) { $('#kirim_bos').hide(); } - $("#tabel_data_kepada_kr").on('click', '.delete_kepada_kr', function() { - var key = "delete_kepada_kr"; var id = $(this).attr('id'); var surat_id = $('#surat_idxxx').val(); diff --git a/src/app/spengesahan/table.php b/src/app/spengesahan/table.php index 276fb91..7dbcbda 100644 --- a/src/app/spengesahan/table.php +++ b/src/app/spengesahan/table.php @@ -1,11 +1,11 @@ @@ -44,133 +44,115 @@ $thn2 = $_POST['thn2']; 'batal' - AND (('$thn2' = '') OR (EXTRACT(YEAR FROM DATE(surat.tgl_surat_keluar)) = '$thn2')) - AND (('$bln2' = '0') OR (EXTRACT(MONTH FROM DATE(surat.tgl_surat_keluar)) = '$bln2')) - AND surat.pengesahan = 1 - GROUP BY surat.tgl_surat_keluar, surat.perihal, surat.satuan_kerja_id, surat.id, kirim.surat_id,kirimid, sifat_surat.sifat, surat.stts_kendali,surat.tgl_kirim,surat.flag_baca_tu - ORDER BY surat.tgl_surat_keluar DESC - "); + $data = pg_query_params( + $koneksi, + "SELECT surat.tgl_surat_keluar, surat.perihal, surat.satuan_kerja_id, surat.id AS surat_id, sifat_surat.sifat, surat.stts_kendali, + surat.no_surat, surat.flag_baca_tu, kirim.surat_id AS kirimid, surat.jenis_surat_id, surat.sifat_surat_id, surat.kode_id AS kd_surat, + surat.penandatangan_id, surat.tgl_kirim, surat.no_register + FROM + surat + LEFT JOIN + kirim ON kirim.surat_id = surat.id + INNER JOIN + sifat_surat ON sifat_surat.id = surat.sifat_surat_id + WHERE + surat.satuan_kerja_id = $1 + AND COALESCE(surat.tahun, '') <> 'batal' + AND (('$thn2' = '') OR (EXTRACT(YEAR FROM DATE(surat.tgl_surat_keluar)) = '$thn2')) + AND (('$bln2' = '0') OR (EXTRACT(MONTH FROM DATE(surat.tgl_surat_keluar)) = '$bln2')) + AND surat.pengesahan = 1 + GROUP BY surat.tgl_surat_keluar, surat.perihal, surat.satuan_kerja_id, surat.id, + sifat_surat.sifat, surat.stts_kendali, surat.no_surat, surat.flag_baca_tu, kirim.surat_id, + surat.jenis_surat_id, surat.sifat_surat_id, surat.kode_id, surat.penandatangan_id, surat.tgl_kirim, + surat.no_register + ORDER BY + surat.tgl_surat_keluar DESC;", + array($satuan_kerja_id) + ); $nomer = 1; - while ($r = pg_fetch_array($data)) { - $surat_id = htmlspecialchars($r['surat_id'], ENT_QUOTES, 'UTF-8'); - $to = ''; - - $o = pg_query($koneksi, "SELECT t.jabatan_untuk - FROM teruskan t - INNER JOIN kirim k ON k.id = t.kirim_id_untuk - WHERE t.surat_id = $surat_id - AND k.isi IS NULL - AND t.id = (SELECT MAX(t2.id) - FROM teruskan t2 - INNER JOIN kirim k2 ON k2.id = t2.kirim_id_untuk - WHERE t2.surat_id = $surat_id - AND k2.isi IS NULL) - "); - if ($ro = pg_fetch_array($o)) { - $to = htmlspecialchars($ro['jabatan_untuk'], ENT_QUOTES, 'UTF-8'); + while ($r = pg_fetch_assoc($data)) { + $surat_id = $r['surat_id']; + $satuan_kerja_id = $r['satuan_kerja_id']; + $o = pg_query($koneksi, "SELECT t.jabatan_untuk FROM teruskan t INNER JOIN kirim k ON (k.id=t.kirim_id_untuk) WHERE t.surat_id=$surat_id + AND k.isi IS NULL AND t.id=(SELECT MAX(t2.id) FROM teruskan t2 INNER JOIN kirim k2 ON (k2.id=t2.kirim_id_untuk) WHERE t2.surat_id=$surat_id + AND k2.isi IS NULL)"); + while ($ro = pg_fetch_assoc($o)) { + $to = $ro[0]; } - $p = pg_query($koneksi, "SELECT u.jabatan_pegawai_id - FROM data_user u - INNER JOIN jabatan_pegawai j ON j.id = u.jabatan_pegawai_id - WHERE u.satuan_kerja_id = $r[satuan_kerja_id]"); - if ($rp = pg_fetch_array($p)) { - $tp = htmlspecialchars($rp['jabatan_pegawai_id'], ENT_QUOTES, 'UTF-8'); + $p = pg_query($koneksi, "SELECT u.jabatan_pegawai_id FROM data_user u INNER JOIN jabatan_pegawai j ON (j.id=u.jabatan_pegawai_id) WHERE u.satuan_kerja_id=$satuan_kerja_id"); + while ($rp = pg_fetch_assoc($p)) { + $tp = $rp[0]; } + ?>
    - + - - - - - - - + + +
    Pengajuan'; - break; - case 1: - echo 'Verifikasi TU'; - break; - case 3: - echo 'Verifikasi Kabag Umum'; - break; - case 5: - echo 'Verifikasi Wadir Pelay. Medik dan Keperawatan/span>'; - break; - case 7: - echo 'Verifikasi Wadir Pend. dan Pengemb. Mutu Pelayanan'; - break; - case 9: - echo 'Verifikasi Wadir Pelayanan Penunjang'; - break; - case 11: - echo 'Verifikasi Wadir Umum dan Keuangan'; - break; - case 13: - echo 'Selesai'; - break; - // case 98 : - // echo 'Pengajuan Ulang'; - // break; - case 99: - echo 'Ditolak'; - break; - default: - echo ''; - break; - } + $status_texts = [ + '' => '', + 0 => 'Pengajuan', + 1 => 'Verifikasi TU', + 3 => 'Verifikasi Kabag Umum', + 5 => 'Verifikasi Wadir Pelay. Medik dan Keperawatan', + 7 => 'Verifikasi Wadir Pend. dan Pengemb. Mutu Pelayanan', + 9 => 'Verifikasi Wadir Pelayanan Penunjang', + 11 => 'Verifikasi Wadir Umum dan Keuangan', + 13 => 'Selesai', + 99 => 'Ditolak' + ]; + + $status_styles = [ + '' => '', + 0 => 'color:#0069D3;font-weight:600;', + 1 => 'color:#44A2FF;font-weight:600;', + 3 => 'color:#44A2FF;font-weight:600;', + 5 => 'color:#44A2FF;font-weight:600;', + 7 => 'color:#44A2FF;font-weight:600;', + 9 => 'color:#44A2FF;font-weight:600;', + 11 => 'color:#44A2FF;font-weight:600;', + 13 => 'color:#00D814;font-weight:600;', + 99 => 'color:red;font-weight:bold;' + ]; + + $status = $r['stts_kendali']; + echo '' . $status_texts[$status] . ''; ?>
    -
    Belum Dikirim' : '' . date('d-m-Y H:i', strtotime($r['tgl_kirim'])) . ''; ?>
    +
    ' . date('d-m-Y H:i', strtotime($r['tgl_kirim'])) . '' : 'Belum Dikirim' ?>
    - + - +
    + @@ -206,7 +189,6 @@ $thn2 = $_POST['thn2']; var jenis_surat_id = $(this).closest('tr').find('input[name="jenis_surat"]').val(); var kode_surat_id = $(this).closest('tr').find('input[name="kode_surat_id"]').val(); var penandatangan_id = $(this).closest('tr').find('input[name="penandatangan_id"]').val(); - var currentRow = $(this).closest("tr"); var tolak = currentRow.find("td:eq(4)").text().replace(/\s+/g, ''); @@ -230,6 +212,11 @@ $thn2 = $_POST['thn2']; success: function(data) { $('#modal_body_kirim2').html(data); $('#perihal').first().focus(); + $('#kdSurat').select2({ + dropdownParent: $("#modal_kirim2"), + // matcher: matchCustom + minimumResultsForSearch: 20 + }); } }); }); @@ -276,10 +263,9 @@ $thn2 = $_POST['thn2']; var perihal = currentRow.find("td:eq(2)").text(); var id = $(this).attr('id'); var cek_satker = $('#satuan_kerja_idcek').val(); - var kirimid = $(this).closest('tr').find('input[name="kirim_id"]').val(); + var kirimid = $(this).closest('tr').find('input[name="kirimid"]').val(); var key = 'kirim_awal'; var l_noSurat = $('.no_surat_label').text(); - // $('#modal_body_tl').html(""); $.ajax({ type: "POST", url: "app/tindaklanjut/main.php", @@ -295,14 +281,7 @@ $thn2 = $_POST['thn2']; $('#modal_tl').modal('show'); $('#modal_body_tl').html(data); var l_noSurat = $('#no_surat_label').val(); - // if (l_noSurat !== '') { - // document.getElementById('no_surat_tl').style.display = 'none'; - // $('.no_surat_label').show(); - // } else { - // $('#no_surat_tl').show(); - // } - // $('#inkomen').hide(); - + } }); }); diff --git a/src/app/tindaklanjut/crud.php b/src/app/tindaklanjut/crud.php index 658479b..7f38616 100644 --- a/src/app/tindaklanjut/crud.php +++ b/src/app/tindaklanjut/crud.php @@ -6,10 +6,22 @@ $stts_kendali = ($_POST['stts_kendali'] != '') ? $_POST['stts_kendali'] : ''; switch ($key) { case 'simpan_komen': + $baseURL = '../../public/doc/'; + $folder = 'tindaklanjut/dok/'; + $surat_id = $_POST['surat_id']; $jabatan_pegawai_id = $_POST['jabatan_pegawai_id']; $satuan_kerja_penginput = $_POST['satuan_kerja_penginput']; $komen = $_POST['komen']; + $file = $_FILES['file']; + // var_dump($file);die(); + $allowed_types = array( + 'application/pdf', + 'application/msword', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.ms-excel', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + ); if (!empty($komen)) { pg_query($koneksi, "INSERT INTO komen (surat_id,jabatan_pegawai_id,tanggal,komen) VALUES ($surat_id,$jabatan_pegawai_id,NOW(),'$komen')"); @@ -18,14 +30,51 @@ switch ($key) { $db = pg_query($koneksi, "SELECT k.id FROM komen k WHERE k.surat_id=$surat_id AND k.jabatan_pegawai_id=$jabatan_pegawai_id AND k.komen='$komen' AND k.id=(SELECT MAX(k1.id) FROM komen k1 WHERE k1.surat_id=$surat_id AND k1.jabatan_pegawai_id=$jabatan_pegawai_id AND k1.komen='$komen' )"); - while ($rdb = pg_fetch_array($db)) { - $komen_id = $rdb[0]; + while ($rdb = pg_fetch_assoc($db)) { + $komen_id = $rdb['id']; + } + + // Save Lampiran + if ($file['name'] != '') { + $file_type = $file["type"]; + $file_size = $file["size"]; + $max_size = 1087152; // max 1Mb + if (!in_array($file_type, $allowed_types)) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'File tidak diizinkan.
    Hanya PDF, Word, Excel size max 1 Mb yang diperbolehkan.'); + echo json_encode($response); + exit; + } + if ($file_size > $max_size) { + http_response_code(400); + $response = array('icon' => 'error', 'message' => 'File yang diupload terlalu besar. Ukuran maksimum adalah 1MB.'); + echo json_encode($response); + exit; + } + $tmp_name = $file["tmp_name"]; + $name = $baseURL . $folder . $komen_id . "_" . $file["name"]; + $name_pdf = $komen_id . "_" . $file["name"]; + // Cek apakah file berhasil diupload + if (!move_uploaded_file($tmp_name, $name)) { + http_response_code(400); + $response = array('status' => 'error', 'message' => 'Gagal upload file.'); + echo json_encode($response); + exit; + } + $ins = pg_query($koneksi, "INSERT INTO scan_komen (komen_id,file) VALUES ($komen_id,'$name_pdf')"); + + if (!$ins) { + http_response_code(400); + $response = array('status' => 'error', 'message' => 'Gagal insert data ke database.'); + echo json_encode($response); + exit; + } } $d = pg_query($koneksi, "SELECT id,kepada FROM kirim WHERE surat_id='$surat_id' AND satuan_kerja_tujuan IS NULL AND lama IS NULL AND satuan_kerja_penginput=$satuan_kerja_penginput"); - while (($r = pg_fetch_array($d)) !== FALSE) { - $kirim_id = $r[0]; - $kepada = $r[1]; + while (($r = pg_fetch_assoc($d)) !== FALSE) { + $kirim_id = $r['id']; + $kepada = $r['kepada']; $sat = pg_query($koneksi, "SELECT satuan_kerja_id FROM data_user WHERE jabatan_pegawai_id='$kepada'"); while ($r = pg_fetch_array($sat)) { $satuan_kerja_tujuan = $r[0]; @@ -67,7 +116,9 @@ switch ($key) { } pg_query($koneksi, "UPDATE surat SET stts_kendali =$_verif WHERE id=$surat_id"); } - echo $surat_id . ' ' . $komen_id . ' ' . $jabatan_pegawai_id . ' ' . $kirim_id . ' ' . $kepada; + http_response_code(200); + $response = array('icon' => 'success', 'message' => 'Surat Telah Terkirim'); + echo json_encode($response); break; case 'hapus_komen': @@ -200,9 +251,32 @@ switch ($key) { case 'update_noSurat': $surat_id = $_POST['surat_id']; $no_surat = $_POST['no_surat']; - pg_query_params($koneksi,"UPDATE surat SET no_surat=$1 WHERE id = $2",array($no_surat,$surat_id)); - echo json_encode(['data'=>['no_surat'=>$no_surat],'icon'=>'success','message'=>'No Surat Berhasil Disimpan']); + pg_query_params($koneksi, "UPDATE surat SET no_surat=$1 WHERE id = $2", array($no_surat, $surat_id)); + echo json_encode(['data' => ['no_surat' => $no_surat], 'icon' => 'success', 'message' => 'No Surat Berhasil Disimpan']); + break; + case 'selesai_kepada_tl': + $surat_id = $_POST['surat_id']; + $kepada = $_POST['kepada']; + $satuan_kerja_penginput = $_POST['satuan_kerja_penginput']; + $jabatan_pegawai_id = $_POST['jabatan_pegawai_id']; + foreach ($kepada as $kpd) { + $cek_satker = pg_query($koneksi, "SELECT id FROM kirim WHERE surat_id='$surat_id' AND kepada='$kpd' AND satuan_kerja_penginput='$satuan_kerja_penginput' AND satuan_kerja_tujuan IS NULL"); + $row_satker = pg_fetch_row($cek_satker); + if ($row_satker[0] == 0) { + $cdata = pg_query($koneksi, "SELECT COUNT(*) FROM kirim WHERE surat_id='$surat_id' AND satuan_kerja_penginput='$satuan_kerja_penginput' AND satuan_kerja_tujuan IS NULL"); + $rcdata = pg_fetch_array($cdata); + $jdata = $rcdata[0]; + + if ($jdata == 0) { + $inp = pg_query($koneksi, "INSERT INTO kirim (surat_id, kepada, tgl_input, jam_input, satuan_kerja_penginput) VALUES ('$surat_id', '$kpd', NOW(), NOW(), '$satuan_kerja_penginput')"); + } else { + $inp = pg_query($koneksi, "INSERT INTO kirim (surat_id, kepada, tgl_input, jam_input, satuan_kerja_penginput, isi) VALUES ('$surat_id', '$kpd', NOW(), NOW(), '$satuan_kerja_penginput', 'SM')"); + } + } + } + http_response_code(200); + echo json_encode(['icon' => 'success', 'message' => 'Kirim Tujuan sudah Ditambahkan']); break; default: echo "Invalid key provided."; diff --git a/src/app/tindaklanjut/delete.php b/src/app/tindaklanjut/delete.php index adc66f8..e6d3b4d 100644 --- a/src/app/tindaklanjut/delete.php +++ b/src/app/tindaklanjut/delete.php @@ -1,11 +1,58 @@ - +// var_dump($id);die(); + +// $d = pg_query($koneksi, "SELECT file FROM scan_komen WHERE id='$id'"); +// while ($r = pg_fetch_assoc($d)) { +// $fil = $r['file']; +// } +// $path = "dok/" . $fil; +// if (file_exists($path)) { +// $del_pr = pg_query($koneksi, "DELETE FROM scan_komen WHERE id='$id'"); +// unlink($path); +// http_response_code(200); +// json_encode(['icon'=>'success','message'=>'Berhasil Dihapus..!!']); +// }else{ +// http_response_code(400); +// json_encode(['icon'=>'error','message'=>'File Tidak Ada..!!']); +// exit; +// } +$id = $_POST['id']; +$baseURL = '../../public/doc/'; +$dir = 'tindaklanjut/img/'; + +// Pastikan variabel $id telah diverifikasi atau divalidasi sebelum digunakan. + +$query = pg_query_params($koneksi, "SELECT file FROM scan_komen WHERE id=$1", array($id)); +if ($query) { + $r = pg_fetch_assoc($query); + if ($r) { + $fil = $r['file']; + $path = $baseURL.$dir . $fil; + if (file_exists($path)) { + $del_pr = pg_query_params($koneksi, "DELETE FROM scan_komen WHERE id=$1", array($id)); + if ($del_pr) { + unlink($path); + http_response_code(200); + echo json_encode(['icon' => 'success', 'message' => 'Berhasil Dihapus..!!']); + } else { + http_response_code(500); + echo json_encode(['icon' => 'error', 'message' => 'Gagal menghapus data dari database.']); + } + } else { + http_response_code(400); + echo json_encode(['icon' => 'error', 'message' => 'File Tidak Ada..!!']); + } + } else { + http_response_code(404); + echo json_encode(['icon' => 'error', 'message' => 'Data tidak ditemukan.']); + } +} else { + http_response_code(500); + echo json_encode(['icon' => 'error', 'message' => 'Gagal mengambil data dari database.']); +} +?> \ No newline at end of file diff --git a/src/app/tindaklanjut/js/main.js b/src/app/tindaklanjut/js/main.js index 4b9081c..790edce 100644 --- a/src/app/tindaklanjut/js/main.js +++ b/src/app/tindaklanjut/js/main.js @@ -12,13 +12,12 @@ $('button[name="simpan_no_surat"]').popover(); $('button[name="file_inbox"]').click(function () { var id = $(this).attr('id'); - $('#modal_inbox').modal('show'); - $('#modal_body_inbox').html(""); $.ajax({ type: "POST", url: "app/inbox/modal.php", data: 'id=' + id, success: function (data) { + $('#modal_inbox').modal('show'); $('#modal_body_inbox').html(data); } }); @@ -27,8 +26,6 @@ $('button[name="file_inbox"]').click(function () { $('button[name="lampiran_inbox"]').click(function () { var id = $(this).attr('id'); var flag_pengesahan = $('#flag_pengesahan').val(); - $('#modal_file_inbox').modal('show'); - $('#modal_body_file_inbox').html(""); $.ajax({ type: "POST", url: "app/inbox/modal_file.php", @@ -37,6 +34,7 @@ $('button[name="lampiran_inbox"]').click(function () { flag_pengesahan: flag_pengesahan }, success: function (data) { + $('#modal_file_inbox').modal('show'); $('#modal_body_file_inbox').html(data); } }); @@ -45,8 +43,6 @@ $('button[name="kepada_inbox"]').click(function () { var id = $(this).attr('id'); var satker_pemilik_surat = $('#satker_pemilik_surat').val(); var jabatan_pegawai_id_tl = $('#jabatan_pegawai_id_tl').val(); - $('#modal_kpdxxxx').modal('show'); - $('#modal_body_kpdxxxx').html(""); $.ajax({ type: "POST", url: "app/tindaklanjut/modal_kepada_awal.php", @@ -56,10 +52,12 @@ $('button[name="kepada_inbox"]').click(function () { jabatan_pegawai_id: jabatan_pegawai_id_tl }, success: function (data) { + $('#modal_kpdxxxx').modal('show'); $('#modal_body_kpdxxxx').html(data); } }); }); + var surat_id = $('#surat_id_tl').val(); var jabatan_pegawai_id_tl = $('#jabatan_pegawai_id_tl').val(); $('#tabel_komen').load("app/tindaklanjut/tabel_komen.php", { @@ -79,6 +77,17 @@ if (jmlsm == 'SM') { } } +$('#btn_load_file').click(function () { + $('#lamp_dok').click(); +}); + +$('#lamp_dok').change(function () { + var formData = new FormData(); + var fileInput = $('#lamp_dok')[0].files[0]; + formData.append('file', fileInput); + $('#lbl_file_up').text(fileInput.name); +}); + $('#simpan_komen').click(function () { var surat_id = $('#surat_id_tl').val(); var no_surat = $('.no_surat_label').text(); @@ -87,11 +96,26 @@ $('#simpan_komen').click(function () { var jd9 = $('#jd9').val(); var satuan_kerja_penginput = $('#csatker').val(); var flag_pengesahan = $('#flag_pengesahan').val(); + var formData = new FormData(); + formData.append('surat_id', surat_id); + formData.append('jabatan_pegawai_id', jabatan_pegawai_id); + formData.append('satuan_kerja_penginput', satuan_kerja_penginput); + formData.append('komen', komen); + formData.append('key', 'simpan_komen'); if (flag_pengesahan == '1') { if (!no_surat) { infoToast('error', 'Nomer Surat harus Teriisi..!!'); return; } + var fileInput = $('#lamp_dok')[0].files[0]; + formData.append('file', fileInput); + + if (satuan_kerja_penginput == 66 || satuan_kerja_penginput == 11) { + if ($('#lbl_file_up').text() === '') { + infoToast('error', 'Mohon untuk Melampirkan Dokumen..!!'); + return; + } + } } if ((!komen) || (jd9 == 0)) { infoToast('error', 'Tanggapan atau Teruskan mohon ditentukan terlebih dahulu..!!'); @@ -99,21 +123,22 @@ $('#simpan_komen').click(function () { $.ajax({ type: "POST", url: "app/tindaklanjut/crud.php", - data: { - surat_id: surat_id, - jabatan_pegawai_id: jabatan_pegawai_id, - satuan_kerja_penginput: satuan_kerja_penginput, - komen: komen, - key: 'simpan_komen' - }, - success: function (data) { - infoToast('success', 'Surat Telah Dikirim'); + data: formData, + processData: false, + contentType: false, + success: function (response) { + var result = JSON.parse(response); + infoToast(result.icon, result.message) $('#tabel_komen').load("app/tindaklanjut/tabel_komen.php", { surat_id: surat_id, jabatan_pegawai_id_tl: jabatan_pegawai_id }); $('#komen').val(''); $('#inkomen').hide(); + }, + error: function (xhr) { + var result = JSON.parse(xhr.responseText); + infoToast(result.icon, result.message) } }); } @@ -121,13 +146,12 @@ $('#simpan_komen').click(function () { $('button[name="jpg_kirim_tl"]').click(function () { var id = $(this).attr('id'); - $('#modal_pic').modal('show'); - $('#modal_body_pic').html(""); $.ajax({ type: "POST", url: "app/tindaklanjut/modal_dok.php", data: 'id=' + id, success: function (data) { + $('#modal_pic').modal('show'); $('#modal_body_pic').html(data); } }); @@ -135,13 +159,12 @@ $('button[name="jpg_kirim_tl"]').click(function () { $('button[name="file_kirim_tl"]').click(function () { var id = $(this).attr('id'); - $('#modal_file').modal('show'); - $('#modal_body_file').html(""); $.ajax({ type: "POST", url: "app/tindaklanjut/upd_file.php", data: 'id=' + id, success: function (data) { + $('#modal_file').modal('show'); $('#modal_body_file').html(data); } }); @@ -157,13 +180,12 @@ $(document).on('hidden.bs.modal', function (event) { $('#forward_tl').click(function () { var id = $('#surat_id_tl').val(); var jabatan_pegawai_id_tl = $('#jabatan_pegawai_id_tl').val(); - $('#modal_kepada').modal('show'); - $('#modal_body_kepada').html(""); $.ajax({ type: "POST", url: "app/tindaklanjut/modal_kepada.php", data: { id: id, jabatan_pegawai_id_tl: jabatan_pegawai_id_tl }, success: function (data) { + $('#modal_kepada').modal('show'); $('#modal_body_kepada').html(data); $('#kepada_k').first().focus().selected(); } @@ -172,20 +194,21 @@ $('#forward_tl').click(function () { // Logic ketikan !approve $('#kembalikan_surat').click(function () { + var surat_id = $('#surat_id_tl').val(); + var kepada = $('#satker_pengirim_surat').val(); + var csatker = $('#csatker').val(); + var key = "simpan_kepada_tl"; + $('#simpan_komen').hide() $('#save_retur').show() $('#batal_retur').show() $('#kembalikan_surat').hide() // $('#forward_tl').hide() - if ($('#csatker').val() == 11) { + var inArray = [11, 172, 71, 72, 73, 74]; + if (inArray.includes(parseInt($('#csatker').val()))) { $('#selesai_komen').hide() } - var surat_id = $('#surat_id_tl').val(); - var kepada = $('#satker_pengirim_surat').val(); - var csatker = $('#csatker').val(); - var key = "simpan_kepada_tl"; - $.ajax({ type: "POST", url: "app/spengesahan/controller.php", @@ -211,7 +234,8 @@ $('#batal_retur').click(function () { $('#batal_retur').hide() $('#kembalikan_surat').show() $('#forward_tl').show() - if ($('#csatker').val() == 11) { + var inArray = [11, 172, 71, 72, 73, 74]; + if (inArray.includes(parseInt($('#csatker').val()))) { $('#selesai_komen').show() } @@ -263,19 +287,27 @@ $('#selesai_komen').click(function () { var surat_id = $('#surat_id_tl').val(); var kepada = $('#satker_pengirim_surat').val(); var csatker = $('#csatker').val(); - var key = "selesai_kepada_tl"; + var jabatan_pegawai_id = $('#jabatan_pegawai_id_tl').val(); + var key = "selesai_kepada_tl";; var komen = $('#komen').val(); + if (csatker == 11) { + if ($('#lbl_file_up').text() === '') { + infoToast('error', 'Mohon untuk Melampirkan Dokumen..!!'); + return; + } + } if (komen == '') { infoToast('error', 'Tanggapan Harus Teriisi..!!'); return false; } else { $.ajax({ type: "POST", - url: "app/spengesahan/controller.php", + url: "app/tindaklanjut/crud.php", data: { surat_id: surat_id, kepada: [kepada, 165], satuan_kerja_penginput: csatker, + jabatan_pegawai_id: jabatan_pegawai_id, key: key }, success: function (response) { @@ -302,6 +334,10 @@ $('#selesai_komen').click(function () { simpan_komen_selesai(); } }); + }, + error: function (xhr) { + var result = JSON.parse(xhr.responseText); + infoToast(result.icon, result.message); } }); } @@ -310,10 +346,18 @@ $('#selesai_komen').click(function () { function simpan_komen_selesai() { var surat_id = $('#surat_id_tl').val(); var csatker = $('#csatker').val(); - var komen = $('#komen').val(); $('#kepada_kr').val(''); var jabatan_pegawai_id_tl = $('#jabatan_pegawai_id_tl').val(); + var fileInput = $('#lamp_dok')[0].files[0]; + var formData = new FormData(); + formData.append('surat_id', surat_id); + formData.append('jabatan_pegawai_id', jabatan_pegawai_id_tl); + formData.append('satuan_kerja_penginput', csatker); + formData.append('komen', komen); + formData.append('key', 'simpan_komen'); + formData.append('file', fileInput); + $('#tabel_kepada_kr').load('app/tindaklanjut/tabel_kepada.php', { surat_id: surat_id, jabatan_pegawai_id: jabatan_pegawai_id_tl @@ -321,13 +365,9 @@ function simpan_komen_selesai() { $.ajax({ type: "POST", url: "app/tindaklanjut/crud.php", - data: { - surat_id: surat_id, - jabatan_pegawai_id: jabatan_pegawai_id_tl, - satuan_kerja_penginput: csatker, - komen: komen, - key: 'simpan_komen' - }, + data: formData, + processData: false, + contentType: false, success: function (data) { infoToast('success', 'Surat Telah Dikirim'); $('#tabel_komen').load("app/tindaklanjut/tabel_komen.php", { @@ -381,8 +421,6 @@ $('button[name="batal_ubah_tl"]').click(function () { $('#no_surat_tl').show(); $('button[name="simpan_no_surat"]').show(); } - // $('#no_surat_tl').hide(); - // $('.no_surat_label').show(); $('.sif_label').show(); $('#sif_naskah').hide(); diff --git a/src/app/tindaklanjut/main.php b/src/app/tindaklanjut/main.php index b1ab5fc..099080b 100644 --- a/src/app/tindaklanjut/main.php +++ b/src/app/tindaklanjut/main.php @@ -184,7 +184,7 @@ while ($row = pg_fetch_assoc($query_sifat)) { // Kode Surat $kd_surat_options = ''; -$query_kdSurat = pg_query($koneksi, 'SELECT id, kode, keterangan FROM kode'); +$query_kdSurat = pg_query($koneksi, 'SELECT id, kode, keterangan FROM kode WHERE status = 1'); while ($row = pg_fetch_assoc($query_kdSurat)) { $kd_surat_options .= ""; // $kd_surat_options .= ""; @@ -260,7 +260,7 @@ while ($row = pg_fetch_assoc($query_penandatangan)) { -->
    @@ -331,8 +331,20 @@ while ($row = pg_fetch_assoc($query_penandatangan)) {
    + +
    Lampirkan Dokumen
    +
    + +

    + +
    +
    -
    +
    + +
    Batal - - - + + +
    -
    +
    @@ -84,6 +85,7 @@ $result_pengesahan = pg_fetch_array($get_pengesahan);
    +
    diff --git a/src/app/tindaklanjut/modal_vfile.php b/src/app/tindaklanjut/modal_vfile.php index 660b35b..6a44f71 100644 --- a/src/app/tindaklanjut/modal_vfile.php +++ b/src/app/tindaklanjut/modal_vfile.php @@ -1,17 +1,21 @@ - - - -
    - -
    - \ No newline at end of file + + + +
    + +
    + \ No newline at end of file diff --git a/src/app/tindaklanjut/modal_vpic.php b/src/app/tindaklanjut/modal_vpic.php index 9cd46cc..6d2efbe 100644 --- a/src/app/tindaklanjut/modal_vpic.php +++ b/src/app/tindaklanjut/modal_vpic.php @@ -1,51 +1,55 @@ - - - -
    -
    - -
    -
    -
    +
    -
    - - work-thumbnail - -
    +
    + +
    -
    - - + work-thumbnail + + +
    -
    --> - - +
    + + + \ No newline at end of file diff --git a/src/app/tindaklanjut/pdf/crud.php b/src/app/tindaklanjut/pdf/crud.php index a869205..324f1ce 100644 --- a/src/app/tindaklanjut/pdf/crud.php +++ b/src/app/tindaklanjut/pdf/crud.php @@ -1,12 +1,41 @@ \ No newline at end of file +$key = $_POST['key']; + +$id = $_POST['id']; +$key = $_POST['key']; +$dir = '../../../public/doc/tindaklanjut/'; + +if ($key == 'delete_cv') { + // Query untuk mengambil nama file dari database + $query = pg_query_params($koneksi, "SELECT file FROM scan_komen WHERE id=$1", array($id)); + if ($r = pg_fetch_assoc($query)) { + if ($r) { + $fil = $r['file']; + $path = $dir . 'dok/' . $fil; + + // Menghapus data dari database + $del_pr = pg_query_params($koneksi, "DELETE FROM scan_komen WHERE id=$1", array($id)); + if ($del_pr) { + // Menghapus file jika ada + if (file_exists($path)) { + unlink($path); + http_response_code(200); + echo json_encode(['icon' => 'success', 'message' => 'Berhasil Dihapus..!!']); + } else { + http_response_code(404); + echo json_encode(['icon' => 'error', 'message' => 'File tidak ditemukan.']); + } + } else { + http_response_code(500); + echo json_encode(['icon' => 'error', 'message' => 'Gagal menghapus data dari database.']); + } + } else { + http_response_code(404); + echo json_encode(['icon' => 'error', 'message' => 'Data tidak ditemukan.']); + } + } else { + http_response_code(500); + echo json_encode(['icon' => 'error', 'message' => 'Gagal mengambil data dari database.']); + } +} \ No newline at end of file diff --git a/src/app/tindaklanjut/pdf/pdf/1526_Nota Dinas.doc b/src/app/tindaklanjut/pdf/pdf/1526_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/tindaklanjut/pdf/pdf/1526_Nota Dinas.doc differ diff --git a/src/app/tindaklanjut/pdf/pdf/1528_Nota Dinas.doc b/src/app/tindaklanjut/pdf/pdf/1528_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/tindaklanjut/pdf/pdf/1528_Nota Dinas.doc differ diff --git a/src/app/tindaklanjut/pdf/pdf/1531_Nota Dinas.doc b/src/app/tindaklanjut/pdf/pdf/1531_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/tindaklanjut/pdf/pdf/1531_Nota Dinas.doc differ diff --git a/src/app/tindaklanjut/pdf/pdf/1532_Nota Dinas.doc b/src/app/tindaklanjut/pdf/pdf/1532_Nota Dinas.doc new file mode 100644 index 0000000..ca2c3e5 Binary files /dev/null and b/src/app/tindaklanjut/pdf/pdf/1532_Nota Dinas.doc differ diff --git a/src/app/tindaklanjut/pdf/tabel_upl_cv.php b/src/app/tindaklanjut/pdf/tabel_upl_cv.php index 005acd8..12601f0 100644 --- a/src/app/tindaklanjut/pdf/tabel_upl_cv.php +++ b/src/app/tindaklanjut/pdf/tabel_upl_cv.php @@ -5,6 +5,8 @@ if ($_POST['komen_idzz']) { } else { $komen_id = '0'; } +$baseURL = '../../../public/doc/'; +$folder = 'tindaklanjut/dok/'; ?>
    - - -
    @@ -36,7 +36,7 @@ while ($rdata_pdf = pg_fetch_array($data_pdf)) { ?> \ No newline at end of file diff --git a/src/app/tindaklanjut/pdf/upl_cv.php b/src/app/tindaklanjut/pdf/upl_cv.php index ce2337d..1237fdf 100644 --- a/src/app/tindaklanjut/pdf/upl_cv.php +++ b/src/app/tindaklanjut/pdf/upl_cv.php @@ -2,25 +2,18 @@ include("../../koneksi.php"); // $url = "/var/www/simdistu/app/tindaklanjut/pdf"; $komen_id = $_POST['komen_id_uploadz']; -$folder = "pdf"; - -// $tmp_name = $_FILES["input_load_cvz"]["tmp_name"]; -// $name = $url."/".$folder."/".$komen_id."_".$_FILES["input_load_cvz"]["name"]; -// $name = $folder . "/" . $komen_id . "_" . $_FILES["input_load_cvz"]["name"]; -// $name_pdf = $komen_id . "_" . $_FILES["input_load_cvz"]["name"]; - -// move_uploaded_file($tmp_name, $name); -// $ins=pg_query($koneksi,"INSERT INTO scan_komen (komen_id,file) -// VALUES ('$komen_id','$name_pdf')"); +$baseURL = '../../../public/doc/'; +$folder = 'tindaklanjut/dok/'; // Cek apakah file yang diupload adalah PDF atau Dokumen Word $allowed_types = array( - 'application/pdf', - 'application/msword', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'application/vnd.ms-excel', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' - ); + 'application/pdf', + 'application/msword', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.ms-excel', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' +); +// var_dump($_FILES);die(); $file_type = $_FILES["input_load_cvz"]["type"]; $file_size = $_FILES["input_load_cvz"]["size"]; $max_size = 1087152; // max 1Mb @@ -36,7 +29,7 @@ if (!in_array($file_type, $allowed_types)) { } $tmp_name = $_FILES["input_load_cvz"]["tmp_name"]; -$name = $folder . "/" . $komen_id . "_" . $_FILES["input_load_cvz"]["name"]; +$name = $baseURL . $folder . $komen_id . "_" . $_FILES["input_load_cvz"]["name"]; $name_pdf = $komen_id . "_" . $_FILES["input_load_cvz"]["name"]; // Cek apakah file berhasil diupload if (!move_uploaded_file($tmp_name, $name)) { diff --git a/src/app/tindaklanjut/tabel_komen.php b/src/app/tindaklanjut/tabel_komen.php index 6646862..bb13a4d 100644 --- a/src/app/tindaklanjut/tabel_komen.php +++ b/src/app/tindaklanjut/tabel_komen.php @@ -78,10 +78,6 @@ $dayList = array( ?>
  • -
    @@ -121,8 +117,6 @@ $dayList = array( ?>
    - -
    @@ -354,7 +348,6 @@ while ($rkmn = pg_fetch_array($kmn)) { var idne = $(this).attr('idne'); var idna = $(this).attr('idna'); $('#modal_pic').modal('show'); - $('#modal_body_pic').html(""); if (idne == idna) { $.ajax({ type: "POST", @@ -383,7 +376,6 @@ while ($rkmn = pg_fetch_array($kmn)) { var idno = $(this).attr('idno'); var idnu = $(this).attr('idnu'); $('#modal_file').modal('show'); - $('#modal_body_file').html(""); if (idno == idnu) { $.ajax({ type: "POST", @@ -398,7 +390,7 @@ while ($rkmn = pg_fetch_array($kmn)) { $.ajax({ type: "POST", url: "app/tindaklanjut/modal_vfile.php", - data: 'id=' + id, + data:{id:id}, success: function(data) { $('#modal_body_file').html(data); $('#judul_modal_file').html('View Lampiran File'); diff --git a/src/app/tindaklanjut/tabel_pic.php b/src/app/tindaklanjut/tabel_pic.php index 950bb11..58d42fd 100644 --- a/src/app/tindaklanjut/tabel_pic.php +++ b/src/app/tindaklanjut/tabel_pic.php @@ -1,6 +1,9 @@