<?php
    function msg_qty_not_nol() {
        $msg = "Jumlah barang harus lebih besar dari 0";
        return $msg;
    }
	
    function msg_out_of_stock() {
        $msg = "Permintaan barang melebihi jumlah stok yang ada";
        return $msg;
    }
	
    function msg_invalid_code($msg) {
        $msg = $msg. ", tidak boleh menggunakan Symbol atau Karakter special (!@#$%^&*_-(){}[]'`?<>`+= spasi)";
        return $msg;
    }
	
    function msg_invalid_name($msg) {
        $msg = $msg. ", tidak boleh menggunakan Symbol atau Karakter special (!@#$%^&*(){}[]'`?<>`+=)";
        return $msg;
    }
	
    function msg_already_used($msg) {
        $msg = $msg. ", karena data telah digunakan";
        return $msg;
    }

    function msg_data_used() {
        $msg = "Data gagal disimpan, karena data telah digunakan";
        return $msg;
    }
    
	/*
		Dipakai saat reverse Preq
	*/
	function msg_check_po_reverse($Transaction) {
        $msg = "Transaksi gagal di Reverse data sudah terbuat di ".$Transaction.", silahkan Reverse/Suspend terlebih dahulu ".$Transaction."";
        return $msg;
    }
	
	function msg_check_dp_reverse($Number, $Transaction_New) {
        $msg = "Transaksi Gagal di Reverse, Transaksi ini mempunyai DP silahkan Reverse terlebih dahulu ".$Transaction_New." untuk Nomer ".$Number."";
        return $msg;
    }
	/*==================END=====================*/
	
	/*
		Dipakai saat bypass DP
	*/
	function msg_check_bypass_dp($transaction) {
        $msg = 'Bypass DP Gagal, Masih mempunyai Transaksi gantung untuk Down Payment ini di '.$transaction.'';
        return $msg;
    }
	/*==================End=========================*/
	
    function get_notification($operation, $status) {
        $notification = "";
        $keterangan = "";

        if($status == 1) {
            $status = "berhasil";
            $keterangan = "Reload halaman list untuk melihat perubahan";
        }
        else {
            $status = "gagal";
            $keterangan = "Cek kembali pada form Anda";
        }

        switch($operation) {
            case "insert" : 
                $operation = "di simpan";
            break;
        
            case "update" : 
                $operation = "di ubah";
            break;		
        
            case "delete" : 
                $operation = "di hapus";
            break;

            case "suspend" : 
                $operation = "di suspend";
                $keterangan = "";
            break;
        
            case "approval" : 
                $operation = "di setujui";
            break;
        
            case 'cancel' : 
                $operation = 'dibatalkan';
            break;

            case 'no_count' : 
                $operation  = 'di simpan,';
                $keterangan = 'karena tidak ditemukan data pada List Item';
            break;

            case 'job_status' :
                $operation  = 'di ubah';
                $keterangan = 'karena dibatasi oleh privillage';
            break;

            case 'preference' :
                $operation  = '';
                $keterangan = 'Settingan preference belum lengakap, silahkan setting ulang';
            break;

            case 'coa' :
                $operation  = '';
                $keterangan = 'AccountNumber ini tidak terdaftar di company';
            break;
			
			case 'journal' :
                $operation  = '';
                $keterangan = 'Settingan preference belum lengakap, silahkan setting ulang';
            break;

            case 'reverse_transaksi' :
                $operation  = 'di reverse.';
                $keterangan = 'Karena sudah ada transaksi payment dengan no payment ';
            break;

            case 'not_approved' :
                $operation  = '';
                $keterangan = 'Masih ada transaksi yang belum di approved. Transaksi Number : ';
            break;

            case 'not_reconcile' :
                $operation  = '';
                $keterangan = 'Masih ada transaksi yang belum di reconcile. Transaksi Number : ';
            break;

            case 'month_interval' :
                $operation  = '';
                $keterangan = 'Karena interval bulan end period tidak sesuai atau Bulan dan Tahun end period tidak sesuai dengan tanggal pembuatan Company.';
            break;

            case 'month_lower' :
                $operation  = '';
                $keterangan = 'Bulan dan Tahun sekarang harus lebih besar dari bulan dan tahun end period.';
            break;

            case 'coa_advancepayment_notfound' :
                $operation  = '';
                $keterangan = 'COA (Expense/Advance) Advance Payment tidak ditemukan.';
            break;

            case 'coa_fixedasset_notfound' :
                $operation  = '';
                $keterangan = 'COA (Expense/Accumm) Fixed Asset tidak ditemukan.';
            break;

            case 'coa_cashbon' :
                $operation  = '';
                $keterangan = 'COA (Cashbon Account) tidak ditemukan. Silahkan setting kembali di preference.';
            break;

            case 'coa_diff_kurs' :
                $operation  = '';
                $keterangan = 'Maaf, coa selisih kurs akhir period tidak ditemukan';
            break;

            case 'master_currency' :
                $operation  = '';
                $keterangan = 'Karena Master Currency null';
            break;

            case 'coa_fail' :
                $operation  = 'di save';
                $keterangan = 'Karena Account Laba (Rugi) Penjualan Aktiva Tetap tidak ditemukan.';
            break;

            case 'already_in_period' :
                $operation  = '';
                $keterangan = 'Period End sudah dilakukan untuk Bulan dan Tahun yang dipilih';
            break;

            case 'non_period' :
                $operation  = '';
                $keterangan = 'Period End belum dilakukan untuk Bulan dan Tahun yang dipilih';
            break;

            case 'greather_period' :
                $operation  = '';
                $keterangan = 'Silahkan Reverse terlebih dahulu Bulan terakhir end period.';
            break;

            case 'period' :
                $operation  = 'di period end';
                $keterangan = 'Silahkan cek kembali semua transaksi.';
            break;

            case 'approved_transaksi' :
                $operation  = 'di approved';
                $keterangan = 'Karena transaksi piutang afiliasi belum di approved';
            break;

            case 'recalculate_coa' :
                $operation  = 'di period end';
                $keterangan = 'Kalkulasi ulang coa tidak balance. Mohon cek kembali coa ini : ';
            break;

            case 'reverse_in_period' :
                $operation  = 'di reversed';
                $keterangan = 'Karena transaksi bulan ini sudah di end period.';
            break;

            case 'JVB' :
                $operation  = 'di approved';
                $keterangan = 'Karena total payment + JVB lebih dari piutang. Mohon cek kembali.';
            break;

            case 'checking_approval' :
                $operation  = 'di approved';
                $keterangan = 'Transaksi ini sudah di suspend atau di approved. Halaman akan di reload.';
            break;

            case 'checking_suspend' :
                $operation  = 'di suspend';
                $keterangan = 'Transaksi ini sudah di suspend atau di approved. Halaman akan di reload.';
            break;

            case 'checking_update' :
                $operation  = 'di update';
                $keterangan = 'Transaksi ini sudah di suspend atau di approved. Halaman akan di reload.';
            break;

            case 'checking_reverse' :
                $operation  = 'di reversed';
                $keterangan = 'Transaksi ini sudah di reversed. Halaman akan di reload.';
            break;

            case 'checking_transstatus' :
                $operation  = '';
                $keterangan = 'Transaksi belum finished.';
            break;

            case 'checking_payment_save' :
                $operation  = 'di saved';
                $keterangan = 'Transaksi dengan payment period ini sudah ada. Halaman akan di reload.';
            break;

            case 'max_period' :
                $operation  = 'di reversed';
                $keterangan = 'Silahkan reverse dan suspend payment terakhir terlebih dahulu.';
            break;

			case "by_pass_dp" : 
                $operation = "di setujui";
            break;

            case 'payment_more' :
                $operation  = 'di saved';
                $keterangan = 'Payment Amount lebih dari sisa hutang.';
            break;

            case 'not_balance' :
                $operation  = 'di End Period';
                $keterangan = 'Balancesheet tidak balance.';
            break;

            case 'session_destroy' :
                $operation  = 'Session telah habis.';
                $keterangan = 'Halaman akan di reload.';
            break;
        
            default : 
                $operation = "";
            break;	
        }

        $notification = "Data " . $status . ' '. $operation . '. ' . $keterangan;
        return $notification;
    }
	
    function get_notification_transaksi($transaction, $operation, $status, $no_transaction) {                
        $notification = '';
        $keterangan = '';

        if(is_int($status)){
            if($status == 0) {
               
				if($operation == 'insert'){
					$number_transaction = '';
                    $status             = 'gagal';
                    $keterangan         = 'Cek kembali pada form Anda';
				}
				else{
					$number_transaction = '';
                    $status             = 'gagal';
                    $keterangan         = 'Cek kembali pada form Anda';
				}
            }else{
               
				if($operation == 'insert'){
					$number_transaction = 'No Transaction anda . <br>'.$no_transaction.'.';
                    $status             = 'berhasil';
                    $keterangan         = 'Menunggu approval dari atasan Anda';
				}
				else{
					$number_transaction = '';
                    $status             = 'berhasil';
                    $keterangan         = '';
				}
				
            }
        }
        else{
            $status_info    = explode(',', $status);
            $status         = $status_info[0] . ' (' . $status_info[1] . ')';
        }

        switch($operation) {
            case 'insert' : 
                $operation_status = 'di simpan';
            break;
        
            case 'update' : 
                $operation_status = 'di ubah';
            break;		
        
            case 'delete' : 
                $operation_status = 'di hapus';
            break;

            case 'reverse' : 
                $operation_status = 'di reverse';
            break;

            case 'approve' : 
                $operation_status = 'di approve';
            break;

            case 'suspend' : 
                $operation_status = 'di suspend';
            break;

            case 'period' : 
                $operation_status = 'di end period';
            break;

            case 'journal' :
                $operation_status  = '';
                $keterangan = 'Pengaturan Preference Journal Template belum lengkap.';                
            break;
                
            default : 
                $operation_status = '';
            break;	
        }

        if($operation == 'insert'){
            $notification = $transaction . ' ' . $status . ' ' . $operation_status. '. ' . $keterangan. ', <br>'.$number_transaction;
        }else{
            $notification = $transaction . ' ' . $status . ' ' . $operation_status. '. ' . $keterangan;
        }

        return $notification;
    }
	
	function get_notification_transaksi_master($transaction, $operation, $status) {                
        $notification = '';
        $keterangan = '';

        if(is_int($status)){
            if($status == 0) {
                $status     		= 'gagal';
                $keterangan 		= 'Cek kembali pada form Anda';
            }
            elseif($status == 1) {
                $status     		= 'berhasil';
                $keterangan 		= 'Menunggu approval dari atasan Anda';
            }
        }
        else{
            $status_info    = explode(',', $status);
            echo $status;
			$status         = $status_info[0] . ' (' . $status_info[1] . ')';
        }

        switch($operation) {
            case 'insert' : 
                $operation = 'di simpan';
            break;
        
            case 'update' : 
                $operation = 'di ubah';
            break;		
        
            case 'delete' : 
                $operation = 'di hapus';
            break;

            case 'journal' :
                $operation  = '';
                $keterangan = 'Pengaturan Preference Journal Template belum lengkap.';                
            break;
                
            default : 
                $operation = '';
            break;	
        }
        
        $notification = $transaction . ' ' . $status . ' ' . $operation. '. ' . $keterangan;
        return $notification;
    }
	
	function msg_reverse_sq($msg_data, $operation, $transaksi){
		switch($msg_data) {
            case 'msg_do' : 
                $msg_return = ''.$transaksi.' tidak bisa di Reverse karena masih ada '.$operation.' yang menggunakan '.$transaksi.' ini, silahkan Suspend '.$operation.' Tersebut.';
            break;
			
			case 'msg_so' : 
                $msg_return = ''.$transaksi.' tidak bisa di Reverse karena masih ada '.$operation.' yang menggunakan '.$transaksi.' ini, silahkan Suspend '.$operation.' Tersebut.';
            break;
        }
        return $msg_return;
	}
	
	function msg_confirmation_blok($msg_data, $operation, $transaksi){
		switch($msg_data) {
            case 'msg_do_direct' : 
                $msg_return = 'Maaf transaksi '.$operation.' gagal, no po ' .$transaksi. ' belum dibuat silahkan buat terlebih dahulu';
            break;
			case 'msg_sales_recip' : 
                $msg_return = 'Maaf transaksi '.$operation.' gagal, no Sales Receipts ' .$transaksi. ' Invoice sudah lunas';
            break;
        }
        return $msg_return;
	}
	
	 function get_notification_preference($operation, $status, $AccounName, $Currency) {
        $notification 	= "";
        $keterangan 	= "";
        $status 		= "gagal";
		
        switch($operation) {
			case 'journal' :
                $operation  = '';
                $keterangan = 'Akun belum tersedia di Menu COA, dengan akun '.$AccounName.' dan currency ('.$Currency.'), silahkan seting kembali';
            break;
			case 'preference' :
                $operation  = '';
                $keterangan = 'Akun belum tersedia di Menu Preference, dengan Submenu '.$AccounName.', silahkan seting kembali di Preference';
            break;
        }

        $notification = "Data " . $status . ' '. $operation . '. ' . $keterangan;
        return $notification;
    }
	
	function get_notification_transaksi_rollback($transaction, $operation, $status) {                
        $notification = '';
        $keterangan = '';

        if(is_int($status)){
            if($status == 0) {
                $status     		= 'gagal';
                $keterangan 		= 'Cek kembali pada form Anda';
            }
            elseif($status == 1) {
                $status     		= 'berhasil';
                $keterangan 		= 'Menunggu approval dari atasan Anda';
            }
        }
        else{
            $status_info    = explode(',', $status);
			$status         = $status_info[0] . ' (' . $status_info[1] . ')';
        }

        switch($operation) {
            case 'insert' : 
                $operation = 'di simpan';
            break;
        
            case 'update' : 
                $operation = 'di ubah';
            break;		
        
            case 'delete' : 
                $operation = 'di hapus';
            break;
                
            default : 
                $operation = '';
            break;	
        }
        
        $notification = $transaction . ' ' . $status . ' ' . $operation. '. ' . $keterangan;
        return $notification;
    }
?>


