Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.5 kB
1
Indexable
// 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);
		}
	}