// CONTROLER
public function helpdesk_ticket(){
if (isset($_POST['submit'])){
// Mengambil nomor tiket terbaru dari database
$latest_ticket = $this->model_app->get_latest_ticket_number();
// Mengambil tanggal dari nomor tiket terbaru
$last_ticket_date = substr($latest_ticket, 3, 8);
// Jika tidak ada nomor tiket sebelumnya atau tanggal berbeda, mulai dari 001
if (empty($latest_ticket) || $last_ticket_date != date('Ymd')) {
$new_number = 1;
} else {
// Mengambil nomor urutan dari nomor tiket terbaru 001
$last_number = number_format(substr($latest_ticket,-3));
// Menambahkan 1 ke nomor urutan
$new_number = $last_number + 1;
}
// Mengonversi nomor urutan ke format 3 digit dengan nol di depan
$new_number_str = str_pad($new_number, 3, '0', STR_PAD_LEFT);
// Membuat nomor tiket baru dengan nomor urutan yang diperbarui
$no_tiket = "TK-" . date('Ymd') . "/" . $new_number_str;
$data = array(
'no_tiket' => $no_tiket,
'nik_karyawan' => $this->input->post('a'),
'lokasi' => $this->input->post('lokasi'),
'type_asset' => $this->db->escape_str($this->input->post('ka2')),
'kode_asset' => $this->db->escape_str($this->input->post('kode')),
'tgl_helpdesk' => date('Y-m-d'),
'email_user' => $this->db->escape_str($this->input->post('c1')),
'keluhan_user' => $this->db->escape_str($this->input->post('f1'))
);
$this->model_app->insert('mst_helpdesk', $data);
$data_log = array(
'no_tiket' => $no_tiket,
'status_helpdesk' => "Open",
'tgl_action' => date('Y-m-d'),
'lampiran_helpdesk' => $this->db->escape_str($this->input->post('f1'))
);
$this->model_app->insert('log_helpdesk', $data_log);
// Menampilkan notifikasi dengan nomor tiket
echo "<script>
alert('Nomor Tiket: " . $no_tiket . "');
window.location.href = '" . base_url($this->uri->segment(1)) . "';
</script>";
} else {
$data['karyawan'] = $this->model_app->view_ordering('mst_karyawan', 'nik', 'DESC');
// Mengambil nomor tiket terbaru dari database
$latest_ticket = $this->model_app->get_latest_ticket_number();
// Mengambil tanggal dari nomor tiket terbaru
$last_ticket_date = substr($latest_ticket, 3, 8);
// Jika tidak ada nomor tiket sebelumnya atau tanggal berbeda, mulai dari 001
if (empty($latest_ticket) || $last_ticket_date != date('Ymd')) {
$new_number = 1;
} else {
// Mengambil nomor urutan dari nomor tiket terbaru
$last_number = number_format(substr($latest_ticket,-3));
// Menambahkan 1 ke nomor urutan
$new_number = $last_number + 1;
}
// Mengonversi nomor urutan ke format 3 digit dengan nol di depan
$new_number_str = str_pad($new_number, 3, '0', STR_PAD_LEFT);
// Membuat nomor tiket baru dengan nomor urutan yang diperbarui
$data['no_tiket'] = "TK-" . date('Ymd') . "/" . $new_number_str;
$this->load->helper('captcha');
$vals = array(
'img_path' => './captcha/',
'img_url' => base_url().'captcha/',
'font_path' => './asset/Tahoma.ttf',
'font_size' => 17,
'img_width' => '320',
'img_height' => 33,
'border' => 0,
'word_length' => 5,
'expiration' => 7200
);
$cap = create_captcha($vals);
$data['image'] = $cap['image'];
$this->session->set_userdata('mycaptcha', $cap['word']);
$this->template->load('desktop/desktop', 'desktop/helpdesk_ticket', $data);
}
}