$row['tj'], 'tm' => $row['tm'], 'kpd' => $row['kpd'] ); echo json_encode($response); // echo $row['tj'] . '$%^' . $row['tm'] . '$%^' . $row['kpd']; break; case 'delete_kepada_tl': $id = $_POST['id']; $surat_id = $_POST['surat_id']; $jabatan_pegawai_id = $_POST['jabatan_pegawai_id']; pg_query($koneksi, "DELETE FROM teruskan WHERE kirim_id_untuk = $id"); pg_query($koneksi, "DELETE FROM kirim WHERE id = '$id'"); pg_query($koneksi, "UPDATE kirim SET isi = NULL WHERE id = ( SELECT MIN(k.id) FROM kirim k INNER JOIN surat s ON k.surat_id = s.id INNER JOIN data_user u ON u.satuan_kerja_id = k.satuan_kerja_penginput WHERE k.kepada IS NOT NULL AND k.surat_id = $surat_id AND u.jabatan_pegawai_id = $jabatan_pegawai_id AND k.satuan_kerja_tujuan IS NULL ) "); break; case 'delete_kepada_kr': $kirim_id = $_POST['id']; $result = pg_query($koneksi, "SELECT surat_id, isi FROM kirim WHERE id = $kirim_id"); $row = pg_fetch_assoc($result); $surat_id = $row['surat_id']; $isi = $row['isi']; if ($isi == 'SM') { pg_query($koneksi, "DELETE FROM teruskan WHERE kirim_id_untuk IN (SELECT id FROM kirim WHERE surat_id = $surat_id AND id = $kirim_id)"); pg_query($koneksi, "DELETE FROM kirim WHERE surat_id = $surat_id AND id = $kirim_id"); } else { pg_query($koneksi, "DELETE FROM scan_komen WHERE komen_id IN (SELECT komen_id FROM teruskan WHERE kirim_id_untuk IN (SELECT id FROM kirim WHERE surat_id = $surat_id AND id >= $kirim_id))"); pg_query($koneksi, "DELETE FROM komen WHERE surat_id = $surat_id AND id IN (SELECT komen_id FROM teruskan WHERE kirim_id_untuk IN (SELECT id FROM kirim WHERE surat_id = $surat_id AND id >= $kirim_id))"); pg_query($koneksi, "DELETE FROM teruskan WHERE kirim_id_untuk IN (SELECT id FROM kirim WHERE surat_id = $surat_id AND id >= $kirim_id)"); $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']; 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 "); $row = pg_fetch_assoc($result); $kirimid = $row['kirimid']; pg_query($koneksi, "UPDATE kirim SET isi = NULL, dis_baca = NULL, proses_tu = NULL, tgl_diterima = NULL WHERE id = $kirimid"); } break; case 'simpan_kirim': $surat_id = $_POST['surat_id']; $satuan_kerja_id = $_POST['satuan_kerja_id']; $perihal = $_POST['perihal']; $no_reg = $_POST['no_register']; $jns_naskah = $_POST['jns_naskah']; $sif_naskah = $_POST['sif_naskah']; $kd_surat = $_POST['kd_surat']; $penandatangan_id = $_POST['penandatangan_id']; // Check if the surat exists $query = "SELECT id FROM surat WHERE id=$1"; $result = pg_query_params($koneksi, $query, array($surat_id)); if (pg_num_rows($result) > 0) { // Update surat if it exists $update_query = "UPDATE surat SET perihal=$1 WHERE id=$2"; pg_query_params($koneksi, $update_query, array($perihal, $surat_id)); } else { // Insert new surat if it does not exist $setNo_register = pg_query($koneksi, "SELECT CONCAT( TO_CHAR(CURRENT_DATE, 'YYMMDD'), LPAD( CAST( COALESCE( MAX(CAST(RIGHT(no_register, 3) AS NUMERIC)) + 1, 1 ) AS TEXT ), 3, '0' ) ) AS new_no_register FROM surat WHERE LEFT(no_register, 6) = TO_CHAR(CURRENT_DATE, 'YYMMDD'); "); $no_register = pg_fetch_array($setNo_register); $insert_query = "INSERT INTO surat (satuan_kerja_id, perihal, tgl_surat_keluar, jenis_surat_id, jenis_disposisi_id, no_register, sifat_surat_id, kode_id, pengesahan,penandatangan_id) VALUES ($1, $2, NOW(), $3, 3, $4, $5, $6, 1,$7)"; pg_query_params($koneksi, $insert_query, array($satuan_kerja_id, $perihal, $jns_naskah, $no_register['new_no_register'], $sif_naskah, $kd_surat, $penandatangan_id)); } // Retrieve the latest surat id $select_query = "SELECT id,no_register FROM surat WHERE satuan_kerja_id=$1 AND no_register=$2 AND perihal=$3 ORDER BY id DESC LIMIT 1"; $result = pg_query_params($koneksi, $select_query, array($satuan_kerja_id, $no_register['new_no_register'], $perihal)); if ($row = pg_fetch_array($result)) { echo json_encode(['no_surat' => $row['id'], 'no_register' => $row['no_register']]); } else { echo json_encode(['no_surat' => $surat_id, 'no_register' => $no_reg]);; } break; case 'simpan_kepada_tl': $surat_id = $_POST['surat_id']; $kepada = $_POST['kepada']; $satuan_kerja_penginput = $_POST['satuan_kerja_penginput']; $cek_satker = pg_query($koneksi, "SELECT id FROM kirim WHERE surat_id='$surat_id' AND kepada='$kepada' 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', '$kepada', 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', '$kepada', NOW(), NOW(), '$satuan_kerja_penginput', 'SM')"); } } echo json_encode(['icon' => 'success', 'message' => 'Kirim Tujuan sudah Ditambahkan']); break; case 'simpan_kepada_kr': $surat_id = (int)$_POST['surat_id']; $kepada = (int)$_POST['kepada']; $satuan_kerja_penginput = (int)$_POST['satuan_kerja_penginput']; // Cek apakah sudah ada kirim untuk surat_id, kepada, dan satuan_kerja_penginput yang sama $cek_satker = pg_query($koneksi, "SELECT id FROM kirim WHERE surat_id=$surat_id AND kepada=$kepada AND satuan_kerja_penginput=$satuan_kerja_penginput AND satuan_kerja_tujuan IS NULL"); $row_satker = pg_fetch_row($cek_satker); if (empty($row_satker)) { // Menggabungkan penghitungan jdata dan jdata1 menjadi satu kueri $cdata = pg_query( $koneksi, "SELECT (SELECT COUNT(*) FROM kirim WHERE surat_id=$surat_id AND satuan_kerja_penginput=$satuan_kerja_penginput AND kepada=$kepada) AS jdata, (SELECT COUNT(*) FROM kirim WHERE surat_id=$surat_id AND satuan_kerja_penginput=$satuan_kerja_penginput AND isi='SM') AS jdata1" ); $rcdata = pg_fetch_assoc($cdata); $jdata = $rcdata['jdata']; $jdata1 = $rcdata['jdata1']; // Memilih kueri INSERT yang sesuai berdasarkan kondisi jdata dan jdata1 if ($jdata == 0 && $jdata1 == 0) { $query = "INSERT INTO kirim (surat_id, kepada, tgl_input, jam_input, satuan_kerja_penginput) VALUES ($surat_id, $kepada, NOW(), NOW(), $satuan_kerja_penginput)"; pg_query($koneksi, $query); } else { // $query = "INSERT INTO kirim (surat_id, kepada, tgl_input, jam_input, satuan_kerja_penginput, isi) // VALUES ($surat_id, $kepada, NOW(), NOW(), $satuan_kerja_penginput, 'SM')"; } } break; case 'jumlah_kepada': $surat_id = $_POST['surat_id']; $satuan_kerja_id = $_POST['satuan_kerja_id']; $k = pg_query($koneksi, "SELECT COUNT(*) FROM kirim k INNER JOIN surat s ON (k.surat_id=s.id) LEFT OUTER 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"); while ($rk = pg_fetch_array($k)) { echo $rk[0]; } break; case 'jumlah_jpg': $surat_id = $_POST['surat_id']; $k = pg_query($koneksi, "SELECT COUNT(*) FROM scan k INNER JOIN surat s ON (k.surat_id=s.id) WHERE k.surat_id=$surat_id AND LOWER(file) NOT IN ('%.jpg', '%.jpeg', '%.png') AND k.file NOT IN ('') "); while ($rk = pg_fetch_array($k)) { echo $rk[0]; } break; case 'jumlah_nonjpg': $surat_id = $_POST['surat_id']; $k = pg_query($koneksi, "SELECT COUNT(*) FROM scan k INNER JOIN surat s ON (k.surat_id=s.id) WHERE k.surat_id='$surat_id' AND LOWER(k.file) NOT LIKE '%.jpg' AND k.file NOT IN ('')"); while ($rk = pg_fetch_array($k)) { echo $rk[0]; } break; case 'hapus_kirim': $id = $_POST['id']; $surat = pg_query($koneksi, "SELECT tgl_kirim FROM surat WHERE id = $id"); $result = pg_fetch_array($surat); if (!empty($result['tgl_kirim'])) { echo json_encode(['icon' => 'error', 'message' => 'Surat sudah terkirim,
tidak boleh dihapus...!!']); } else { pg_query($koneksi, "UPDATE surat SET tahun='batal' WHERE id=$id"); echo json_encode(['icon' => 'success', 'message' => 'Data berhasil dihapus...!!']); } break; case 'start_kirim': $id = $_POST['id']; $satuan_kerja_id = $_POST['satuan_kerja_id']; // Query untuk mendapatkan data kirim yang memenuhi kondisi $result = pg_query($koneksi, "SELECT id, kepada FROM kirim WHERE surat_id='$id' AND satuan_kerja_penginput=$satuan_kerja_id AND satuan_kerja_tujuan IS NULL AND lama IS NULL"); if (!$result) { // Jika query pertama gagal $error_message = pg_last_error($koneksi); echo "Error: Query failed. " . $error_message; } else { while ($r = pg_fetch_array($result)) { $kirim_id = $r['id']; $kepada = $r['kepada']; // Query untuk mendapatkan satuan_kerja_tujuan dari data_user $result_sat = pg_query($koneksi, "SELECT satuan_kerja_id FROM data_user WHERE jabatan_pegawai_id='$kepada'"); if (!$result_sat) { // Jika query kedua gagal $error_message = pg_last_error($koneksi); echo "Error: Query failed. " . $error_message; } else { $r_sat = pg_fetch_array($result_sat); $satuan_kerja_tujuan = $r_sat['satuan_kerja_id']; // Update kirim dengan satuan_kerja_tujuan dan waktu lama $update_kirim = pg_query($koneksi, "UPDATE kirim SET satuan_kerja_tujuan='$satuan_kerja_tujuan', lama=NOW() WHERE id='$kirim_id'"); if (!$update_kirim) { // Jika query update gagal $error_message = pg_last_error($koneksi); echo "Error: Query failed. " . $error_message; } } } // Update surat dengan tgl_kirim saat semua kirim berhasil diupdate $update_surat = pg_query($koneksi, "UPDATE surat SET tgl_kirim=NOW(), stts_kendali=0 WHERE id='$id'"); if (!$update_surat) { // Jika query update surat gagal $error_message = pg_last_error($koneksi); echo "Error: Query failed. " . $error_message; } } break; case 'kirim_semua': $userpeg = pg_query($koneksi, "SELECT DISTINCT j.id, SPLIT_PART(CASE WHEN s.kode_satker='' THEN '999.0' ELSE s.kode_satker END,'.',1), CAST(SPLIT_PART(CASE WHEN s.kode_satker='' THEN '999.0' ELSE s.kode_satker END,'.',2) AS INTEGER) FROM data_user k INNER JOIN jabatan_pegawai j ON (j.id=k.jabatan_pegawai_id) INNER JOIN satuan_kerja s ON (s.id=k.satuan_kerja_id) WHERE LOWER(j.nama) NOT LIKE '%akun lama%' AND k.aktif='t' ORDER BY SPLIT_PART(CASE WHEN s.kode_satker='' THEN '999.0' ELSE s.kode_satker END,'.',1) ASC, CAST(SPLIT_PART(CASE WHEN s.kode_satker='' THEN '999.0' ELSE s.kode_satker END,'.',2) AS INTEGER) ASC "); while (($rows = pg_fetch_array($userpeg)) !== FALSE) { $kpd = $rows[0]; $surat_id = $_POST['surat_id']; $kepada = $kpd; $satuan_kerja_penginput = $_POST['satuan_kerja_penginput']; $cek_satker = pg_query($koneksi, "SELECT id FROM kirim WHERE surat_id='$surat_id' AND kepada='$kepada' 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) { } else { $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"); while ($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', '$kepada', 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', '$kepada', NOW(), NOW(), '$satuan_kerja_penginput', 'SM')"); } } } break; case 'clear_kepada': $surat_id = $_POST['surat_id']; $satuan_kerja_penginput = $_POST['satuan_kerja_penginput']; pg_query($koneksi, "DELETE FROM kirim WHERE surat_id='$surat_id' AND satuan_kerja_penginput='$satuan_kerja_penginput'"); break; case 'cek_no_surat': $no_surat = $_POST['no_surat']; $satuan_kerja_id = $_POST['satuan_kerja_id']; $cek = pg_query($koneksi, "SELECT no_surat FROM surat WHERE no_surat='$no_surat' AND jenis_surat_id=3 AND jenis_disposisi_id=3 AND satuan_kerja_id=$satuan_kerja_id AND tahun IS NULL"); while ($rcek = pg_fetch_array($cek)) { $hsl = $rcek[0]; } 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; }