alat.php 5.95 KB
<?php defined('BASEPATH') OR exit('No direct script access allowed');

/**
 * Example
 *
 * This is an example of a few basic user interaction methods you could use
 * all done with a hardcoded array.
 *
 * @package		CodeIgniter
 * @subpackage	Rest Server
 * @category	Controller
 * @author		Phil Sturgeon
 * @link		http://philsturgeon.co.uk/code/
*/

// This can be removed if you use __autoload() in config.php OR use Modular Extensions
require APPPATH.'/libraries/REST_Controller.php';

class Alat extends REST_Controller
{
	function __construct(){
        parent::__construct();
		$this->load->database();
    }
	
	function index_get()
    {
       
		$id = $this->get('id');
		if ($this->get('id') == '') {
            
			$data = array(
                    'tanggal'		=> '2019-04-09', // 3digit
                    'perihal'		=> 'Pengadaan Beton Readymix Aditive (Khusus) Type 1',
                    'nama_user'		=> 'latief', // 2digit
                    'penandatangan'	=> 'General Manager',
					'nip'			=> 'ET00001',
                    'unit_kerja'	=> 'B.DSU1',
                    'tujuan'		=> 'Vendor',
					);
			
			if($data)
			{
			   $this->response($data, 200); // 200 being the HTTP response code
			}

			else
			{
				$this->response(array('error' => 'Jenis Sumberdaya could not be found'), 404);
			}
		}else{
            	$user =$this->db->query("SELECT a.kd_sdymaster as kode_master_sumberdaya, 
									a.nama_sdymaster as nama_master_sumberdaya, 
									a.kd_jenissdy as kode_jenis_sumberdaya,
									b.nama_jenissdy as nama_jenis_sumberdaya,
									c.tpname as tipe_sumberdaya, a.is_matgis FROM pmlocal_sdymaster a JOIN pmlocal_jenissdy b ON (a.kd_jenissdy=b.kd_jenissdy) JOIN resource_type c ON (a.rtid=c.rtid)")->result();
			$this->response($user, 200); // 200 being the HTTP response code
		}
		
    }
   
	function index_post() {
		//simpan file json
        $data = array(
                    'tgl_agenda'		=> date('Y-m-d', strtotime($this->post('tanggal'))),
                    'perihal'		=> $this->post('perihal'),
                    'pembuat'		=> $this->post('nama_user'), 
					'id_pembuat'	=> 0,
					'id_user'		=> 2,
                    'penandatangan'	=> trim($this->post('nip')),
                    'id_penandatangan'	=> 0,
                    'unitkerja'		=> trim($this->post('unit_kerja')),
                    'tujuan'		=> $this->post('tujuan'),
					'kodemasalah'	=> 'TP',
					'kodemasalahid'	=> '31',
					'created'	=> date("Y-m-d H:i:s", time())
				);
		
		// print_r($data);exit;			
		// header("Content-Type: application/json; charset=UTF-8");
		// $fp = fopen($_SERVER['DOCUMENT_ROOT'].'/apirest/filejson/'.date('Y-m-d H:i:s').'.alat.json', 'w');
		// fwrite($fp, json_encode($data));
		// fclose($fp);

		if($data['tgl_agenda'] == '' ){
			$this->response(array('error' => 'Tanggal could not empty!'), 404);
		}
		
		if($data['perihal'] == '' ){
			$this->response(array('error' => 'Perihal could not empty!'), 404);
		}
		
		if($data['pembuat'] == '' ){
			$this->response(array('error' => 'Nama User could not empty!'), 404);
		}
		
		// if($data['nm_penandatangan'] == '' ){
			// $this->response(array('error' => 'Penandatangan could not empty!'), 404);
		// }
		
		if($data['penandatangan'] == '' ){
			$this->response(array('error' => 'NIP could not empty!'), 404);
		}
		
		if($data['unitkerja'] == '' ){
			$this->response(array('error' => 'Unit Kerja could not empty!'), 404);
		}
		
		if($data['tujuan'] == '' ){
			$this->response(array('error' => 'Tujuan could not empty!'), 404);
		}
		
		$setting_no 	= $this->db->query("SELECT no_agenda_sk_start FROM pengaturan WHERE status=1")->row();
		
		$kd_uker 	= explode('.', $data['unitkerja']);
		$unitkerjaid	= $this->db->query("SELECT id FROM unit_kerja WHERE kode1='".$kd_uker[0]."' and kode2='".$kd_uker[1]."'")->row();
		$cek_data_today = $this->db->query("SELECT * FROM surat_keluar WHERE kodemasalah ='".$data['kodemasalah']."' AND unitkerjaid ='".$unitkerjaid->id."' AND DATE_FORMAT(tgl_agenda, '%Y-%m-%d') ='".$data['tgl_agenda']."'")->num_rows();
		
		// cek jika ada surat pada hari ini
		if ($cek_data_today > 0){
			$no_max = $this->db->query("SELECT IFNULL(MAX(no_agenda),0) as no_max, MAX(tgl_agenda) as tgl_agenda FROM surat_keluar WHERE kodemasalah ='".$data['kodemasalah']."' AND unitkerjaid ='".$unitkerjaid->id."' AND DATE_FORMAT(tgl_agenda, '%Y-%m-%d') ='".$data['tgl_agenda']."'")->row();
			
			// cek no max
			if ($no_max->no_max > 0){
				$noagenda = $no_max->no_max + 1;
			}else{
				$noagenda 		= 1;
				
				//cek pengaturan backdate
				if($setting_no->no_agenda_sk_start >= 1){
					$noagenda 	= $setting_no->no_agenda_sk_start;
				}
			}
		}else{
			$no_max = $this->db->query("SELECT IFNULL(MAX(no_agenda),0) as no_max, MAX(tgl_agenda) as tgl_agenda FROM surat_keluar WHERE kodemasalah ='".$data['kodemasalah']."' AND unitkerjaid ='".$unitkerjaid->id."' AND DATE_FORMAT(tgl_agenda, '%Y-%m-%d') < '".$data['tgl_agenda']."'")->row();
			if($setting_no->no_agenda_sk_start >= 1){
				$noagenda 	= $no_max->no_max + $setting_no->no_agenda_sk_start;
			}else{
				$noagenda 	= $no_max->no_max + 1;
			}
		}
		$data['no_agenda'] = $noagenda;
		$data['unitkerja'] = $kd_uker[0];
		$data['unitkerjaid'] = $unitkerjaid->id;
		$insert = $this->db->insert('surat_keluar', $data);
		if ($insert) {
			$kode 	= $this->db->query("SELECT CONCAT(kode_masalah, '.', primer, '.', sekunder) AS kode_masalah FROM kode_masalah WHERE id=".$data['kodemasalahid'])->row();
			// $kduker = $this->db->query("SELECT CONCAT(kode1, '.', kode2) AS unit_kerja FROM unit_kerja WHERE id='".$data['unitkerja']."'")->row();
			$thn	= date('Y', strtotime($this->post('tanggal')));
			$no_surat = $kode->kode_masalah.'/'.$this->post('unit_kerja').'.'.$noagenda.'/'. $thn;
			$this->response(array('status' => 'success', 'message' => $no_surat), 200);
		} else {
			$this->response(array('status' => 'fail'), 502);
		}

    }
	
   


	public function send_post()
	{
		var_dump($this->request->body);
	}


	public function send_put()
	{
		var_dump($this->put('foo'));
	}
}