Commit f7c6616e authored by Deddy Vita Kurniawan's avatar Deddy Vita Kurniawan

* modul tim_pengawasan dan pkpt

parent 0463c2fa
...@@ -410,4 +410,13 @@ if ( ! function_exists('blob_to_string')) ...@@ -410,4 +410,13 @@ if ( ! function_exists('blob_to_string'))
$userStr .= chr(bindec($ch)); $userStr .= chr(bindec($ch));
return $userStr; return $userStr;
} }
}
if ( ! function_exists('bulan_indonesia'))
{
function bulan_indonesia($bln)
{
$bulan = array ('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember');
return $bulan[$bln-1];
}
} }
\ No newline at end of file
...@@ -2954,4 +2954,34 @@ class Pilih extends Pilih_Controller ...@@ -2954,4 +2954,34 @@ class Pilih extends Pilih_Controller
echo json_encode($response); echo json_encode($response);
} }
/*
Pilih tim_pengawasan
Keterangan : mengembalikan daftar tim_pengawasan
Dipakai di modul pkpt
Digunakan untuk komponen select2
*/
function tim_pengawasan()
{
$q = $this->input->post('q');
$mode = $this->input->post('mode');
$req_param = array(
"q" => $q,
"mode" => $mode
);
$result = $this->pilih_model->getTimPengawasanSelect($req_param);
$response = (object) NULL;
$response->results = array();
if ($result) {
for ($i = 0; $i < count($result); $i++) {
$response->results[] = array(
'id' => (string) $result[$i]['id_tim_pengawasan_rinci'],
'text' => (string) $result[$i]['nama_tim'] ." - ". $result[$i]['pejabat'],
);
}
}
$response->sql = $this->db->queries;
echo json_encode($response);
}
} }
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Pkpt extends AktivitasBLUD_Controller class Pkpt extends Base_Controller
{ {
public function __construct() public function __construct()
...@@ -17,6 +17,98 @@ class Pkpt extends AktivitasBLUD_Controller ...@@ -17,6 +17,98 @@ class Pkpt extends AktivitasBLUD_Controller
$this->message_aktivitas_dihapus = 'PKPT telah dihapus.'; $this->message_aktivitas_dihapus = 'PKPT telah dihapus.';
$this->message_aktivitas_gagal_dihapus = 'PKPT tidak bisa dihapus.'; $this->message_aktivitas_gagal_dihapus = 'PKPT tidak bisa dihapus.';
} }
public function daftar()
{
$this->load->model('auth/login_model', 'auth');
$data['breadcrumbs'] = 'Daftar ' . $this->modul_display;
$data['title'] = get_title($this->modul_display);
$data['modul'] = $this->modul_name;
$data['report_daftar'] = $this->report_daftar;
$data['report_form'] = $this->report_form;
$data['grid']['akses'] = $this->auth->get_level_akses($this->uri->slash_segment(1));
$data['akses'] = $this->auth->get_level_akses($this->uri->slash_segment(1));
$data['grid']['skpd'] = $this->id_skpd;
$data['grid']['url'] = base_url($this->modul_name . '/get_daftar');
$data['grid']['url_add'] = base_url($this->modul_name . '/form');
$data['grid']['url_del'] = base_url($this->modul_name . '/hapus');
$data['grid']['data'] = $this->data_model->get_grid_model();
$data['grid']['fields'] = $this->data_model->get_data_fields();
$data['main_content'] = $this->view_daftar;
$this->load->view('layout/template', $data);
}
public function get_daftar()
{
parent::get_daftar();
$aggregate = $this->data_model->get_data($this->search_param);
$count = count($aggregate);
$response = (object) NULL;
$response->sql = $this->db->queries;
if ($count == 0) // tidak ada data
{
// menambahkan userdata jika ada
$agg_fields = $this->data_model->fieldmap_daftar_aggregate;
foreach ($agg_fields as $kolom => $value) {
$response->userdata[$kolom] = $aggregate[strtoupper($kolom)];
}
echo json_encode($response);
return;
}
$page = $this->page;
$limit = $this->limit;
$total_pages = ceil($count / $limit);
if ($page > $total_pages) $page = $total_pages;
$start = $limit * $page - $limit;
if ($start < 0) $start = 0;
$this->search_param['limit'] = array(
'start' => $start,
'end' => $limit
);
$result = $this->data_model->get_data($this->search_param);
$response->page = $page;
$response->total = $total_pages;
$response->records = $count;
$response->sql = $this->db->queries;
$fields = $this->data_model->fieldmap_daftar;
for ($i = 0; $i < count($result); $i++) {
$response->rows[$i]['id'] = $result[$i][$fields[0]];
$data = array();
for ($n = 1; $n < count($fields); $n++) {
$data[] = $result[$i][$fields[$n]];
}
$response->rows[$i]['cell'] = $data;
}
// menambahkan userdata jika ada
$agg_fields = $this->data_model->fieldmap_daftar_aggregate;
foreach ($agg_fields as $kolom => $value) {
$response->userdata[$kolom] = $aggregate[strtoupper($kolom)];
}
echo json_encode($response);
}
public function form($id = 0)
{
$data = array();
$data['title'] = get_title($this->modul_display);
$data['modul'] = $this->modul_name;
$data['modul_display'] = $this->modul_display;
$data['report_form'] = $this->report_form;
$this->load->model('auth/login_model', 'auth');
$data['akses'] = $this->auth->get_level_akses($this->uri->slash_segment(1));
if ($id !== 0)
$data['data'] = $this->data_model->get_data_by_id($id);
$data['main_content'] = $this->view_form;
$this->load->view('layout/template', $data);
}
public function validasi_form() public function validasi_form()
{ {
...@@ -34,73 +126,48 @@ class Pkpt extends AktivitasBLUD_Controller ...@@ -34,73 +126,48 @@ class Pkpt extends AktivitasBLUD_Controller
{ {
} }
function rinci($id = 0) public function get_rincian_pkpt($id = 0)
{ {
$result = $this->data_model->get_rinci_by_id($id);
$response = (object) NULL; $response = (object) NULL;
if ($result) { for($i=1; $i<13; $i++)
for ($i = 0; $i < count($result); $i++) { {
$response->rows[$i]['id'] = $result[$i]['id_pkpt_rinci']; $data = array();
$response->rows[$i]['cell'] = array( $data[] = 'u'.$i;
$result[$i]['id_pkpt_rinci'], $data[] = $i;
$result[$i]['id_object'], $data[] = strtoupper(bulan_indonesia($i));
$result[$i]['id_parent'], $data[] = 1; // lvl
$result[$i]['objek_pemeriksaan'],
$result[$i]['pengampu'], $row = new stdClass();
$result[$i]['jan_1'], $row->id = $i;
$result[$i]['jan_2'], $row->cell = $data;
$result[$i]['jan_3'], $response->rows[] = $row;
$result[$i]['jan_4'],
$result[$i]['feb_1'], if($id > 0){
$result[$i]['feb_2'], $result = $this->data_model->get_rinci_by_id($id,$i);
$result[$i]['feb_3'], for($x=0;$x<count($result);$x++){
$result[$i]['feb_4'], $satker = $this->data_model->get_satker($result[$x]['id_pkpt_rinci']);
$result[$i]['mar_1'],
$result[$i]['mar_2'], $data = array();
$result[$i]['mar_3'], $data[] = $result[$x]['id_pkpt_rinci'];
$result[$i]['mar_4'], $data[] = $i;
$result[$i]['apr_1'], $data[] = '';
$result[$i]['apr_2'], $data[] = 0; // lvl
$result[$i]['apr_3'], $data[] = $result[$x]['id_tim_pengawasan'];
$result[$i]['apr_4'], $data[] = $satker['id']?$satker['id']:NULL;
$result[$i]['mei_1'], $data[] = $result[$x]['nama_tim'] .' - '.$result[$x]['pejabat'];
$result[$i]['mei_2'], $data[] = $result[$x]['uraian'];
$result[$i]['mei_3'], $data[] = $satker['kode']?$satker['kode']:NULL;
$result[$i]['mei_4'], $data[] = $result[$x]['tanggal'];
$result[$i]['jun_1'],
$result[$i]['jun_2'], $row = new stdClass();
$result[$i]['jun_3'], $row->id = $result[$x]['id_pkpt_rinci'];
$result[$i]['jun_4'], $row->cell = $data;
$result[$i]['jul_1'], $response->rows[] = $row;
$result[$i]['jul_2'], }
$result[$i]['jul_3'],
$result[$i]['jul_4'],
$result[$i]['ags_1'],
$result[$i]['ags_2'],
$result[$i]['ags_3'],
$result[$i]['ags_4'],
$result[$i]['sep_1'],
$result[$i]['sep_2'],
$result[$i]['sep_3'],
$result[$i]['sep_4'],
$result[$i]['okt_1'],
$result[$i]['okt_2'],
$result[$i]['okt_3'],
$result[$i]['okt_4'],
$result[$i]['nov_1'],
$result[$i]['nov_2'],
$result[$i]['nov_3'],
$result[$i]['nov_4'],
$result[$i]['des_1'],
$result[$i]['des_2'],
$result[$i]['des_3'],
$result[$i]['des_4'],
$result[$i]['level']
);
} }
} }
$response->sql = $this->db->queries;
echo json_encode($response); echo json_encode($response);
} }
} }
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</div><!-- /.container-fluid --> </div><!-- /.container-fluid -->
</div> </div>
<!-- /.content-header --> <!-- /.content-header -->
<!-- Main content --> <!-- Main content -->
<section class="content"> <section class="content">
<div class="container-fluid"> <div class="container-fluid">
......
<?php
class Tim_pengawasan extends Userpage_Controller {
public function __construct()
{
parent::__construct();
$this->modul_name = 'tim_pengawasan';
$this->modul_display = 'Tim Pengawasan';
$this->view_daftar = 'tim_pengawasan_view';
$this->report_daftar = 'Daftar Tim Pengawasan';
$this->load->model('tim_pengawasan_model', 'data_model');
}
public function index()
{
$this->load->model('auth/login_model', 'auth');
$data['breadcrumbs'] = 'Daftar '.$this->modul_display;
$data['modul'] = $this->modul_name;
$data['report_daftar'] = $this->report_daftar;
$data['akses'] = $this->auth->get_level_akses($this->uri->slash_segment(1));
$data['grid']['fields'] = $this->data_model->get_data_fields();
$data['main_content'] = $this->view_daftar;
$this->load->view('layout/template', $data);
}
public function get_daftar()
{
parent::get_daftar();
$result = $this->data_model->get_data($this->search_param);
$response = (object) NULL;
$response->sql = $this->db->queries;
for($i=0; $i<count($result); $i++)
{
$response->rows[$i]['id']=$result[$i]['id_tim_pengawasan'];
$response->rows[$i]['cell']=array(
$result[$i]['nama_inspektur']
);
}
echo json_encode($response);
}
public function form($id = '')
{
$data['title'] = get_title($this->modul_display);
$data['modul'] = $this->modul_name;
$this->load->model('auth/login_model', 'auth');
$data['akses'] = $this->auth->get_level_akses($this->uri->slash_segment(1));
$data['main_content']='tim_pengawasan_form';
if($id)
{
$data['data'] = $this->data_model->get_data_by_id($id);
}
$this->load->view('layout/template',$data);
}
protected function validasi_form()
{
$this->form_validation->set_rules('nama_inspektur','Nama Inspektur','required|trim|callback_duplikasi_nama');
$this->form_validation->set_message('required', '%s tidak boleh kosong.');
$this->form_validation->set_message('_duplikasi_nama', 'Nama sudah ada.');
}
function duplikasi_nama($str)
{
if ($this->data_model->check_duplikasi_tim($str))
{
$this->form_validation->set_message('duplikasi_nama', '%s "'.$str.'" sudah ada.');
return FALSE;
}
else
{
return TRUE;
}
}
function rincian_tim($id)
{
$response = (object) NULL;
$result = $this->data_model->get_rincian_tim($id);
if ($result){
for($i=0; $i<count($result); $i++)
{
$response->rows[$i]['id'] = $result[$i]['id_tim_pengawasan_rinci'];
$response->rows[$i]['cell'][] = $result[$i]['id_tim_pengawasan_rinci'];
$response->rows[$i]['cell'][] = $result[$i]['nama_tim'];
$response->rows[$i]['cell'][] = $result[$i]['aktif'];
}
}
$response->sql = $this->db->queries;
echo json_encode($response);
}
function rincian_tim_pejabat()
{
$response = array();
$id = $this->input->post('id')?$this->input->post('id'):0;
$result = $this->data_model->get_rincian_pejabat($id);
for($i=0; $i<count($result); $i++)
{
$response[$i] = array(
'id_tim_pengawasan_pejabat' => $result[$i]['id_tim_pengawasan_pejabat'],
'id_tim_pengawasan_rinci' => $result[$i]['id_tim_pengawasan_rinci'],
'jabatan' => $result[$i]['uraian'],
'nama' => $result[$i]['nama'],
'id_jab_tim_audit' => $result[$i]['id_jab_tim_audit'],
'id_pejabat_spi' => $result[$i]['id_pejabat_spi'],
);
}
echo json_encode($response);
}
function rincian_pejabat($id = 0)
{
$response = (object) NULL;
$result = $this->data_model->get_rincian_pejabat($id);
if ($result){
for($i=0; $i<count($result); $i++)
{
$response->rows[$i]['id'] = $result[$i]['id_rincian_tim_pengawasan'];
$response->rows[$i]['cell'][] = $result[$i]['id_rincian_tim_pengawasan'];
$response->rows[$i]['cell'][] = $result[$i]['uraian'];
$response->rows[$i]['cell'][] = $result[$i]['no_urut'];
$response->rows[$i]['cell'][] = $result[$i]['nama'];
$response->rows[$i]['cell'][] = $result[$i]['id_pejabat_spi'];
}
}
$response->sql = $this->db->queries;
echo json_encode($response);
}
}
\ No newline at end of file
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark"><?php echo $breadcrumbs; ?></h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="<?php echo base_url(); ?>">Home</a></li>
<li class="breadcrumb-item active"><?php echo $breadcrumbs; ?></li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<div id="grid_container">
<div id="search" class="row" style="display : unset;">
</div>
<table id="grid"></table>
<div id="pager"></div>
</div>
<script>
<?php
$akses = isset($akses) ? $akses : 0;
$canEdit = $akses >= 3;
$canPrint = $akses >= 2;
?>
var id = last = 0, canEdit = <?php echo $canEdit ? 'true' : 'false'; ?>, canPrint = <?php echo $canPrint ? 'true' : 'false'; ?>, grid_tim = $('#grid');
$(document).ready(function() {
params = {
container : $('#search'),
grid : grid_tim,
cols : <?php echo json_encode($grid['fields']); ?>,
}
Search.init(params);
grid_tim.jqGrid({
url:root+modul+'/get_daftar',
datatype:'json',
mtype:'POST',
colNames:['Nama Tim'],
colModel:[
{name:'nama_tim', width:600, sortable: true}
],
pager:'#pager',
rowNum:1000000,
scroll:true,
rownumbers:true,
viewrecords:true,
gridview:true,
shrinkToFit:false,
autowidth:true,
sortname:'nama_tim',
height:'400',
recordtext:'{2} baris',
ondblClickRow:edit_row,
});
grid_tim.jqGrid('bindKeys', {"onEnter": edit_row});
grid_tim.jqGrid( 'navGrid', "#pager", {
add: canEdit,
addtext: 'Tambah',
addfunc: add_row,
edit: canEdit,
edittext: 'Ubah',
editfunc:edit_row,
del: canEdit,
deltext: 'Hapus',
delfunc: del_row,
search: false,
searchtext: 'Cari',
refresh: true,
refreshtext: 'Refresh',
},{},{},{},{});
<?php
if ($canPrint)
{
?>
grid_tim.jqGrid().navSeparatorAdd('#pager')
.navButtonAdd('#pager',{
caption:'Cetak',
onClickButton: function(){ preview({"tipe":"daftar"}, grid_tim)},
title:'Cetak Daftar',
buttonicon:'ui-icon-print',
position:'last'
}
);
<?php
}
?>
function add_row(){
if (!canEdit && !canPrint) return false;
location.href =root+modul+'/form';
}
function edit_row(id){
if (!canEdit && !canPrint) return false;
location.href =root+modul+'/form/'+id;
}
function del_row(id){
if (!canEdit && !canPrint) return false;
rs = $(this).jqGrid('getRowData', id);
var question = 'Hapus '+rs.nama_tim+' dari Tim Anggaran ?';
confirmation(question).then(function(answer){
if (!answer) return;
$.ajax({
type: "post",
dataType: "json",
url: root+modul+"/hapus",
data: {id:id},
success: function(res) {
if (res.isSuccess) show_info(res.message, 'Sukses');
else show_error(res.message, 'Gagal');
if(res.isSuccess == true) {
grid_tim.jqGrid('delRowData', id);
}
},
});
});
}
function gridRowAttr(rd){
switch (rd.lvl){
case 1 : return {"class": "row-level row-level-1"}; break;
}
}
grid_tim.gridResize();
});
</script>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
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