Commit 513966a2 by nurchamim

modul: revisi payroll pph21

status: selesai
keterangan:
1. download laporan format cortax
2. tambah ID TKU pada Payroll->Pengaturan Umum
parent 4f2407f3
......@@ -205,45 +205,75 @@ class Pot_absensi extends MY_Controller
$nama_pemotong = $this->input->post('nama_pemotong');
$jenis_pemotong = $this->input->post('jenis_pemotong');
$nomor_pemotong = $this->input->post('nomor_pemotong');
$id_tku = $this->input->post('id_tku');
// validasi
if (!in_array($aktif, ['0', '1'])) {
return __response_save(false, ['message' => [
return __response_save(false, [
'message' => [
'aktif',
"<i class='fa fa-exclamation-triangle'></i> Status aktif harus dipilih"
]]);
]
]);
}
if (!$jenis_pot_pph) {
return __response_save(false, ['message' => [
return __response_save(false, [
'message' => [
'jenis_pot_pph',
"<i class='fa fa-exclamation-triangle'></i> Jenis potongan harus dipilih"
]]);
]
]);
}
if ($aktif == "1"){
if ($aktif == "1") {
if (!$nama_pemotong) {
return __response_save(false, ['message' => [
return __response_save(false, [
'message' => [
'nama_pemotong',
"<i class='fa fa-exclamation-triangle'></i> Nama pemotong harus diisi"
]]);
]
]);
}
if (!$jenis_pemotong) {
return __response_save(false, ['message' => [
return __response_save(false, [
'message' => [
'jenis_pemotong',
"<i class='fa fa-exclamation-triangle'></i> Jenis pemotong harus dipilih"
]]);
]
]);
}
if (!$nomor_pemotong) {
return __response_save(false, ['message' => [
return __response_save(false, [
'message' => [
'nomor_pemotong',
"<i class='fa fa-exclamation-triangle'></i> Nomor NPWP/Nomor KTP harus diisi"
]]);
]
]);
} else {
if (!is_numeric($nomor_pemotong)) {
return __response_save(false, ['message' => [
return __response_save(false, [
'message' => [
'nomor_pemotong',
"<i class='fa fa-exclamation-triangle'></i> Nomor NPWP/Nomor KTP harus berupa angka"
]]);
]
]);
}
}
if (!$id_tku) {
return __response_save(false, [
'message' => [
'id_tku',
"<i class='fa fa-exclamation-triangle'></i> ID TKU harus diisi"
]
]);
} else {
if (!is_numeric($id_tku)) {
return __response_save(false, [
'message' => [
'id_tku',
"<i class='fa fa-exclamation-triangle'></i> ID TKU harus berupa angka"
]
]);
}
}
}
......@@ -252,7 +282,8 @@ class Pot_absensi extends MY_Controller
'aktif' => $aktif,
'jenis' => $jenis_pot_pph,
'nm_pemotong' => $nama_pemotong,
'jenis_pemotong' => $jenis_pemotong
'jenis_pemotong' => $jenis_pemotong,
'id_tku' => $id_tku,
);
if ($jenis_pemotong == 'NPWP') {
......
......@@ -125,10 +125,12 @@ class Pph21_uu24_m extends CI_Model
'periode' => $periode,
'gapok' => $nominal['gapok'],
'ttl_tunjangan' => $nominal['tunj_lain'],
'premi_asuransi' => $nominal['premi_asuransi'] ?: 0,
'gaji_bruto' => $gaji_bruto,
'gaji_bruto_setahun' => $gaji_bruto_setahun ?: 0,
'biaya_jabatan' => $biaya_jabatan ?: 0,
'biaya_jabatan_setahun' => $biaya_jabatan_setahun ?: 0,
'iuran_pensiun_bulanan' => $nominal['iuran_pensiun'] ?: 0,
'iuran_pensiun' => $iuran_pensiun ?: 0,
'ptkp' => $data_nominal_ptkp ?: 0,
'penerima_penghasilan' => $penerima_penghasilan,
......
......@@ -48,46 +48,7 @@ class Laporan_pph_uu24_m extends CI_Model
}
}
$this->db->select('
pph.id_karyawan,
pph.nik,
pph.nm_karyawan,
pph.no_ktp,
pph.npwp,
pph.alamat_ktp,
pph.id_jabatan,
pph.kd_jabatan,
pph.nm_jabatan,
pph.id_cabang,
pph.kd_cabang,
pph.nm_cabang,
pph.id_departemen,
pph.kd_departemen,
pph.nm_departemen,
pph.periode,
pph.gapok,
pph.ttl_tunjangan,
pph.gaji_bruto,
pph.penerima_penghasilan,
pph.kd_objek_pajak,
pph.penandatangan_jenis,
pph.penandatangan_npwp,
pph.penandatangan_nik,
pph.kd_ptkp,
pph.pegawai_harian,
pph.gross_up,
pph.fasilitas,
pph.no_skb_dtp,
pph.tgl_pemotongan,
pph.ter_jenis,
pph.ter_persen,
pph.min_bruto,
pph.max_bruto,
pph.pph21,
pph.id_company,
pph.user_input,
pph.tgl_input
')
$this->db->select('pph.*')
->from($this->table . ' AS pph')
->order_by('pph.id_karyawan', 'ASC');
}
......@@ -112,4 +73,11 @@ class Laporan_pph_uu24_m extends CI_Model
->where('id_departemen', $id_departemen)
->get('master_departemen')->row()->nama;
}
public function get_pengaturan_pph($periode)
{
$this->db->where('id_company', $this->id_company);
$this->db->where('periode_gaji', $periode);
return $this->db->get('payroll_pph21_p_trx')->row();
}
}
......@@ -153,6 +153,7 @@ class Pot_absensi_m extends CI_Model
jenis_pemotong,
npwp,
no_ktp,
id_tku,
id_company
')
->from('payroll_pph21_p')
......
......@@ -8,34 +8,34 @@
}
</style>
<div class="btn-group mb-1">
<button id="excel" class="btn btn-primary text-white ladda-button" data-style="expand-left"><i class="fa fa-file-excel-o"></i> DOWNLOAD</button>
</div>
<div class="btn-group mb-1">
<button id="excel_djp" class="btn btn-biru text-white ladda-button" data-style="expand-left"><i class="fa fa-file-excel-o"></i> DOWNLOAD FORMAT DJP 1721</button>
<button id="excel_cortax" data-format="bpmp" class="btn btn-primary text-white ladda-button"
data-style="expand-left"><i class="fa fa-file-excel-o"></i> DOWNLOAD FORMAT CORTAX <span
class="badge badge-secondary">BPMP</span></button>
</div>
<!-- <div class="btn-group mb-1">
<button id="excel_djp" class="btn btn-biru text-white ladda-button" data-style="expand-left"><i
class="fa fa-file-excel-o"></i> DOWNLOAD FORMAT DJP 1721</button>
</div> -->
<div class="table-responsive">
<table id="list_data" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th class="align-top">No</th>
<th class="align-top">Tgl Pemotongan</th>
<th class="align-top">Penerima Penghasilan?</th>
<th class="align-top">NPWP</th>
<th class="align-top">Nomor KTP</th>
<th class="align-top">Nama Penerima Penghasilan<br>Sesuai KTP</th>
<th class="align-top">Alamat Penerima Penghasilan<br>Sesuai KTP</th>
<th class="align-top">Masa Pajak</th>
<th class="align-top">Tahun Pajak</th>
<th class="align-top">Status Pegawai</th>
<th class="align-top">Nama Pegawai</th>
<th class="align-top">NPWP/NIK/TIN</th>
<th class="align-top">Nomor Passport</th>
<th class="align-top">Status</th>
<th class="align-top">Posisi</th>
<th class="align-top">Sertifikat/Fasilitas</th>
<th class="align-top">Kode Objek Pajak</th>
<th class="align-top">Penandatangan Menggunakan?</th>
<th class="align-top">NPWP Penandatangan</th>
<th class="align-top">Nomor KTP Penandatangan</th>
<th class="align-top">Kode PTKP</th>
<th class="align-top">Pegawai Harian?</th>
<th class="align-top">Menggunakan Gross Up?</th>
<th class="align-top">Penghasilan Bruto</th>
<th class="align-top">Mendapatkan Fasilitas?</th>
<th class="align-top">Nomor SKB/Nomor DTP</th>
<th class="align-top">PPH21</th>
<th class="align-top">Penghasilan Kotor</th>
<th class="align-top">Tarif</th>
<th class="align-top">ID TKU</th>
<th class="align-top">Tgl Pemotongan</th>
</tr>
</thead>
<tbody>
......@@ -44,20 +44,18 @@
</div>
<script>
$(function() {
$("#excel").click(function() {
let urlExcel = "<?= route('payroll.laporan.pph.download.excel', ['bulan' => $bulan, 'id_cabang' => $id_cabang, 'id_departemen' => $id_departemen, 'id_karyawan' => $id_karyawan]) ?>";
downloadFile(urlExcel, this);
});
$("#excel_djp").click(function() {
let urlExcel = "<?= route('payroll.laporan.pph.download.excel.djp', ['bulan' => $bulan, 'id_cabang' => $id_cabang, 'id_departemen' => $id_departemen, 'id_karyawan' => $id_karyawan]) ?>";
$(function () {
$("#excel_cortax").click(function () {
let format = $(this).data('format');
if (format === 'bpmp') {
let urlExcel = "<?= route('payroll.laporan.pph.download.excel.cortax_bpmp', ['bulan' => $bulan, 'id_cabang' => $id_cabang, 'id_departemen' => $id_departemen, 'id_karyawan' => $id_karyawan]) ?>";
downloadFile(urlExcel, this);
}
});
// LIST DATA
$.fn.dataTableExt.sErrMode = 'none';
list_data = $('#list_data').on('error.dt', function(e, settings, techNote, message) {
list_data = $('#list_data').on('error.dt', function (e, settings, techNote, message) {
if (confirm('Terjadi kesalahan saat memproses data, muat ulang halaman ?')) {
window.location.reload();
}
......@@ -69,9 +67,9 @@
'info': true,
'scrollX': true,
'autoWidth': false,
'fixedColumns': {
leftColumns: 2
},
// 'fixedColumns': {
// leftColumns: 2
// },
'language': {
'url': '<?= base_url("assets/plugins/datatables/dataTables-language-id.json") ?>',
'sEmptyTable': 'Tidak ada data untuk ditampilkan',
......@@ -84,24 +82,21 @@
"ajax": {
"url": "<?= route('payroll.laporan.pph.list.data', ['bulan' => $bulan, 'id_cabang' => $id_cabang, 'id_departemen' => $id_departemen, 'id_karyawan' => $id_karyawan]) ?>",
"type": "GET",
"data": function(d) {
"data": function (d) {
delete d.columns;
},
"complete": function(data) {
"complete": function (data) {
reconfigure(data);
}
},
"aoColumnDefs": [{
"aTargets": [0],
"bSortable": false
},
"aoColumnDefs": [
{
"aTargets": [3, 4, 5, 6, 9, 10],
"aTargets": [3, 4, 5, 6, 7, 8, 9, 10, -1, -2],
"className": "text-left"
},
{
"aTargets": [14, 17],
"aTargets": [11],
"className": "text-right"
},
{
......@@ -109,10 +104,10 @@
"className": "text-center"
}
],
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
$('td:eq(-1)', nRow).css({
'background': '#F5F5DC'
});
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
// $('td:eq(-1)', nRow).css({
// 'background': '#F5F5DC'
// });
}
});
// END LIST DATA
......
<script>
$(function() {
<?php if (isset($pengaturan_pph21)) : ?>
$(function () {
<?php if (isset($pengaturan_pph21)): ?>
$("#pot_pph_net").prop("disabled", true);
$("#pot_pph_gross").prop("disabled", true);
$("#nama_pemotong").prop("disabled", true);
$("#jenis_pemotong").prop("disabled", true);
$("#nomor_pemotong").prop("disabled", true);
$("#id_tku").prop("disabled", true);
<?php endif; ?>
});
</script>
......@@ -19,11 +20,13 @@
<div class="col-md-6">
<div class="form-group">
<label class="label text-center">
<input disabled type="radio" class="disable-radio" id="aktif_ya" name="aktif" value="1" <?= ((isset($pengaturan_pph21) && $pengaturan_pph21->aktif == "1") ? "checked" : "") ?>>
<input disabled type="radio" class="disable-radio" id="aktif_ya" name="aktif" value="1"
<?= ((isset($pengaturan_pph21) && $pengaturan_pph21->aktif == "1") ? "checked" : "") ?>>
<span class="text">Ya</span>
</label>
<label class="label text-center ml-2">
<input disabled type="radio" class="disable-radio" id="aktif_tidak" name="aktif" value="0" <?= ((isset($pengaturan_pph21) && $pengaturan_pph21->aktif == "0") ? "checked" : "") ?>>
<input disabled type="radio" class="disable-radio" id="aktif_tidak" name="aktif" value="0"
<?= ((isset($pengaturan_pph21) && $pengaturan_pph21->aktif == "0") ? "checked" : "") ?>>
<span class="text">Tidak</span>
</label>
<div id="msg_error_aktif" style="display: none;">
......@@ -39,11 +42,13 @@
<div class="col-md-6">
<div class="form-group">
<label class="label text-center">
<input type="radio" class="disable-radio" id="pot_pph_net" name="pot_pph" value="net" <?= ((isset($pengaturan_pph21) && $pengaturan_pph21->jenis == "net") ? "checked" : "") ?>>
<input type="radio" class="disable-radio" id="pot_pph_net" name="pot_pph" value="net"
<?= ((isset($pengaturan_pph21) && $pengaturan_pph21->jenis == "net") ? "checked" : "") ?>>
<span class="text">NETT</span>
</label>
<label class="label text-center ml-2">
<input type="radio" class="disable-radio" id="pot_pph_gross" name="pot_pph" value="gross" <?= ((isset($pengaturan_pph21) && $pengaturan_pph21->jenis == "gross") ? "checked" : "") ?>>
<input type="radio" class="disable-radio" id="pot_pph_gross" name="pot_pph" value="gross"
<?= ((isset($pengaturan_pph21) && $pengaturan_pph21->jenis == "gross") ? "checked" : "") ?>>
<span class="text">GROSS</span>
</label>
<div id="msg_error_jenis_pot_pph" style="display: none;">
......@@ -58,7 +63,8 @@
</div>
<div class="col-md-6">
<div class="form-group">
<input type="text" name="nama_pemotong" id="nama_pemotong" class="form-control" value="<?= ($pengaturan_pph21->nm_pemotong) ?: '' ?>">
<input type="text" name="nama_pemotong" id="nama_pemotong" class="form-control"
value="<?= ($pengaturan_pph21->nm_pemotong) ?: '' ?>">
<div id="msg_error_nama_pemotong" style="display: none; margin-top: 4px">
<label style='color:crimson; font-size:smaller'></label>
</div>
......@@ -74,16 +80,21 @@
<div class="row">
<div class="col-md-4">
<select name="jenis_pemotong" id="jenis_pemotong" class="form-control">
<option value="" <?= (!isset($pengaturan_pph21)) ? 'selected' : '' ?>>Pilih jenis pemotong</option>
<option value="NPWP" <?= ($pengaturan_pph21->jenis_pemotong == 'NPWP') ? 'selected' : '' ?>>NPWP</option>
<option value="NIK" <?= ($pengaturan_pph21->jenis_pemotong == 'NIK') ? 'selected' : '' ?>>NIK (Nomor KTP)</option>
<option value="" <?= (!isset($pengaturan_pph21)) ? 'selected' : '' ?>>Pilih jenis pemotong
</option>
<option value="NPWP" <?= ($pengaturan_pph21->jenis_pemotong == 'NPWP') ? 'selected' : '' ?>>
NPWP</option>
<option value="NIK" <?= ($pengaturan_pph21->jenis_pemotong == 'NIK') ? 'selected' : '' ?>>NIK
(Nomor KTP)</option>
</select>
<div id="msg_error_jenis_pemotong" style="display: none; margin-top: 4px">
<label style='color:crimson; font-size:smaller'></label>
</div>
</div>
<div class="col-md-8">
<input type="text" name="nomor_pemotong" onkeyup="formatangka(this, '');" id="nomor_pemotong" class="form-control" placeholder="Nomor NPWP/Nomor KTP" value="<?= ($pengaturan_pph21->jenis_pemotong == 'NPWP') ? $pengaturan_pph21->npwp : (($pengaturan_pph21->jenis_pemotong == "NIK") ? $pengaturan_pph21->no_ktp : '') ?>">
<input type="text" name="nomor_pemotong" oninput="formatangka(this, '');" id="nomor_pemotong"
class="form-control" placeholder="Nomor NPWP/Nomor KTP"
value="<?= ($pengaturan_pph21->jenis_pemotong == 'NPWP') ? $pengaturan_pph21->npwp : (($pengaturan_pph21->jenis_pemotong == "NIK") ? $pengaturan_pph21->no_ktp : '') ?>">
<div id="msg_error_nomor_pemotong" style="display: none; margin-top: 4px">
<label style='color:crimson; font-size:smaller'></label>
</div>
......@@ -91,11 +102,28 @@
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<label for="id_tku">ID Tempat Kegiatan Usaha (TKU) <span class="text-danger">*</span></label>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="text" name="id_tku" oninput="formatangka(this, '');" id="id_tku" class="form-control"
placeholder="ID TKU" value="<?= $pengaturan_pph21->id_tku ?>">
<div id="msg_error_id_tku" style="display: none; margin-top: 4px">
<label style='color:crimson; font-size:smaller'></label>
</div>
</div>
</div>
<!-- button -->
<div class="col-md-4">
<div class="form-group">
<button id="btn-batal" class="btn btn-secondary w-120" style="display:none"><i class="fa fa-close"> </i> BATAL</button>
<button id="btn-simpan" class="btn btn-primary w-120 ladda-button" <?= (isset($pengaturan_pph21)) ? 'style="display:none"' : '' ?> data-style="expand-left" for-data="<?= (isset($pengaturan_pph21)) ? 'update' : 'store' ?>"><i class="fa fa-save "> </i> SIMPAN</button>
<button id="btn-batal" class="btn btn-secondary w-120" style="display:none"><i class="fa fa-close"> </i>
BATAL</button>
<button id="btn-simpan" class="btn btn-primary w-120 ladda-button" <?= (isset($pengaturan_pph21)) ? 'style="display:none"' : '' ?> data-style="expand-left"
for-data="<?= (isset($pengaturan_pph21)) ? 'update' : 'store' ?>"><i class="fa fa-save "> </i>
SIMPAN</button>
<button id="btn-edit" class="btn btn-warning w-120" <?= (!isset($pengaturan_pph21)) ? 'style="display:none"' : '' ?>><i class="fa fa-edit (alias) "> </i> EDIT</button>
</div>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment