Advertisement
darmariduan

Dashboard.php

Oct 13th, 2022
1,065
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 53.84 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') or exit('No direct script access allowed');
  3.  
  4. class Dashboard extends CI_Controller
  5. {
  6.     public function __construct()
  7.     {
  8.         parent::__construct();
  9.         $this->load->library('form_validation');
  10.         $this->load->library('datatables');
  11.         $this->load->library('src/Toastr');
  12.         $this->load->model('Dashboard_model','Dashboard', TRUE);
  13.         set_zone();
  14.        
  15.         if ($this->session->userdata('role_id') !== '1') {
  16.             $this->toastr->error('Please Login to Continue !!!');
  17.             redirect('login');
  18.         }
  19.     }
  20.    
  21.     public function index()
  22.     {
  23.         $join       = array(
  24.             ['tbl_status', 'tbl_pegawai.id_status=tbl_status.id', 'LEFT']
  25.         );
  26.  
  27.         $data       = [
  28.             'titles'        => "Dashboard Administrator || Dashboard Pages",
  29.             'settings'      => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  30.             'user'          => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  31.             'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  32.             'ShowData'      => $this->Dashboard->viewGlobalJoinGroupOrder(
  33.                 '
  34.                    count(tbl_pegawai.nama_pegawai) AS tot,
  35.                    tbl_status.status
  36.                ',
  37.                 'tbl_pegawai',
  38.                 $join,
  39.                 'status',
  40.                 'status')->result_array(),
  41.             'dashboard'     => true,
  42.             'breadcumb'     => "Dashboard",
  43.             'view'          => "v_Dashboard"
  44.         ];
  45.        
  46.         $this->load->view("index", $data);
  47.     }
  48.    
  49.     // View Profile User
  50.     public function profuser($id = 0)
  51.     {
  52.         if ($id !== '0') {
  53.             $data = [
  54.                 'titles'        => "Dashboard Administrator",
  55.                 'settings'      => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  56.                 'user'          => $this->Dashboard->viewWhere('tbl_users','id_users', decrypt_url($id))->result_array(),
  57.                 'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  58.                 'profile'       => true,
  59.                 'breadcumb'     => "Profile",
  60.                 'view'          => "v_Profuser"
  61.             ];
  62.  
  63.             $this->load->view("index", $data);
  64.         }else{
  65.             redirect('Dashboard.html','refresh');
  66.         }
  67.     }
  68.  
  69.     // Edit Profile User
  70.     public function Profedit()
  71.     {
  72.         $id = $this->session->userdata('id');
  73.        
  74.         $this->form_validation->set_rules("name", "Administrator Name", "trim|min_length[5]|required");
  75.  
  76.         if ($this->form_validation->run() == false) {
  77.             $this->profuser($id);
  78.         } else {
  79.             $input = [
  80.                 'users_name'    => htmlspecialchars($this->input->post('nama_admin')),
  81.                 'password'      => password_hash($this->input->post('password'),PASSWORD_BCRYPT)
  82.             ];
  83.  
  84.             if ($this->Dashboard->update('tbl_users', 'id_users', $id, $input)) {
  85.                 helper_log('edit', $this->session->userdata('username').' Successfully Updated Profile !!!');
  86.                 $this->toastr->success('Username : ' . $input['name'] . ' Successfully Updated Profile !!!');
  87.                
  88.                 redirect('Dashboard.html');
  89.             }
  90.         }
  91.     }
  92.  
  93.     // Start Pengaturan Aplikasi //
  94.  
  95.     // View Settings Website Page
  96.     public function Settings()
  97.     {
  98.         $data   = [
  99.             'titles'        => "Dashboard Administrator || Dashboard Settings Pages",
  100.             'settings'      => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  101.             'user'          => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  102.             'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  103.             'dashboard'     => true,
  104.             'breadcumb'     => "Dashboard",
  105.             'view'          => "v_Setting"
  106.         ];
  107.        
  108.         $this->load->view("index", $data);
  109.     }
  110.  
  111.     // Action Update Web Setting
  112.     public function ActionEditWebSetting($id=0)
  113.     {
  114.         if($id!=0){
  115.             $this->form_validation->set_rules("name", "Name", "trim|min_length[5]|required");
  116.            
  117.             if ($this->form_validation->run() == false) {
  118.                 $this->Settings(1);
  119.             } else {
  120.                 $update     = [
  121.                     'aplication_name'           => htmlentities($this->input->post('name'))
  122.                 ];
  123.  
  124.                 // Update Into Database
  125.                 if ($this->Dashboard->update('tbl_setting', 'id_setting', 1, $update)) {
  126.                     $this->toastr->success('Success Update Setting Website Success !!');
  127.                     helper_log('edit', $this->session->userdata('username').' Successfully Updated Setting Website !!!');
  128.  
  129.                     redirect('Dashboard.html','refresh');
  130.                 }
  131.             }
  132.         }
  133.     }
  134.  
  135.     // View Pengaturan No Absensi ASN
  136.     public function AbsensiASN()
  137.     {
  138.         $join           = array(
  139.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  140.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  141.         );
  142.        
  143.         $cekPegawai     = $this->Dashboard->viewGlobalJoin(
  144.             '
  145.                tbl_pegawai.id_pegawai,
  146.                tbl_pegawai.userid_machines,
  147.                tbl_perangkat.id_perangkat,
  148.                tbl_perangkat.nama_perangkat
  149.            ',
  150.             'tbl_pegawai',
  151.             $join)->result_array();
  152.        
  153.         $data   = [
  154.             'titles'        => "Dashboard Administrator || View No Absensi ASN Pages",
  155.             'settings'      => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  156.             'user'          => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  157.             'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  158.             'pegawai'       => $this->Dashboard->viewGlobalJoin(
  159.                 '
  160.                    tbl_pegawai.id_pegawai,
  161.                    tbl_pegawai.nama_pegawai,
  162.                    tbl_pegawai.userid_machines,
  163.                    tbl_perangkat.id_perangkat,
  164.                    tbl_perangkat.nama_perangkat
  165.                ',
  166.                 'tbl_pegawai',
  167.                 $join)->result_array(),
  168.             'absensiasn'    => true,
  169.             'breadcumb'     => "View No Absensi ASN",
  170.             'view'          => "v_AbsensiASN"
  171.         ];
  172.        
  173.         $this->load->view("index", $data);
  174.     }
  175.  
  176.     // Json View Datatable No ASN Absen
  177.     public function jsonASN()
  178.     {
  179.         $join           = array(
  180.             ['tbl_pegawai', 'tbl_pegawai.userid_machines=tbl_no_absen.userid', 'LEFT'],
  181.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  182.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  183.         );
  184.  
  185.         header('Content-Type: application/json');
  186.  
  187.         echo $this->Dashboard->jsonGlobalJoin(
  188.             '
  189.                tbl_no_absen.id_no_absen,
  190.                tbl_pegawai.nama_pegawai,
  191.                tbl_pegawai.id_jabatan,
  192.                tbl_jabatan.nama_jabatan,
  193.                tbl_perangkat.id_perangkat,
  194.                tbl_perangkat.nama_perangkat
  195.            ',
  196.             'tbl_no_absen',
  197.             $join
  198.         );
  199.     }
  200.  
  201.     // Action No Absen ASN
  202.     public function ActionNoAbsenASN()
  203.     {
  204.         $data   = [
  205.             'userid'        => htmlentities($this->input->post('id_pegawai'))
  206.         ];
  207.        
  208.         if($this->Dashboard->insert('tbl_no_absen', $data)){
  209.             helper_log('add', $this->session->userdata('username').' Successfully Inserted Data No ASN Absen !!!','Inserted No Absen ASN');
  210.             $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Inserted Data No ASN Absen !!!','Inserted Data No Absen ASN !!!');
  211.  
  212.             redirect('No-Asn-Absen.html', 'refresh');
  213.         }
  214.     }
  215.  
  216.     // View Edit No Absensi ASN
  217.     public function EditAbsensiASN($id=0)
  218.     {
  219.         if($id!=0){
  220.             $join           = array(
  221.                                 ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  222.                                 ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  223.                             );
  224.  
  225.             $cekPegawai     = $this->Dashboard->viewGlobalJoin(
  226.                 '
  227.                    tbl_pegawai.id_pegawai,
  228.                    tbl_pegawai.userid_machines,
  229.                    tbl_perangkat.id_perangkat,
  230.                    tbl_perangkat.nama_perangkat
  231.                ',
  232.                 'tbl_pegawai',
  233.                 $join)->result_array();
  234.  
  235.             $data           = [
  236.                 'titles'                => "Dashboard Administrator || View Edit No Absensi ASN Pages",
  237.                 'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  238.                 'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  239.                 'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  240.                 'EditData'              => $this->Dashboard->viewWhere('tbl_no_absen','id_no_absen',$id)->result_array(),
  241.                 'pegawai'               => $this->Dashboard->viewGlobalJoin(
  242.                     '
  243.                        tbl_pegawai.id_pegawai,
  244.                        tbl_pegawai.nama_pegawai,
  245.                        tbl_pegawai.userid_machines,
  246.                        tbl_perangkat.id_perangkat,
  247.                        tbl_perangkat.nama_perangkat
  248.                    ',
  249.                     'tbl_pegawai',
  250.                     $join)->result_array(),
  251.                 'apel'                  => true,
  252.                 'breadcumb'             => "View Edit No Absensi ASN",
  253.                 'view'                  => "v_EditNoAbsen"
  254.             ];
  255.            
  256.             $this->load->view("index", $data);
  257.         }
  258.     }
  259.  
  260.     // Action Edit No Absensi ASN
  261.     public function ActionEditAbsensiASN()
  262.     {
  263.         $id         = htmlentities($this->input->post('idEdit'));
  264.        
  265.         if($id!=0){
  266.             $update = [
  267.                 'userid'        => htmlentities($this->input->post('id_pegawai'))
  268.             ];
  269.  
  270.             if($this->Dashboard->update('tbl_no_absen', 'id_no_absen', $id, $update)){
  271.                 helper_log('edit', $this->session->userdata('username').' Successfully Edit Data No Absen ASN ID = '.$id.' !!!','Edit Data No Absen ASN ID = '.$id);
  272.                 $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Edit Data No Absen ASN!!!','Updated Data No Absen ASN !!!');
  273.  
  274.                 redirect('No-Asn-Absen.html', 'refresh');
  275.             }
  276.         }
  277.     }
  278.  
  279.     // Action Delete No Absensi ASN
  280.     public function DeleteAbsensiASN($id=0)
  281.     {
  282.         if($id!=0){
  283.             if($this->Dashboard->delete('id_no_absen', 'tbl_no_absen', $id)){
  284.                 helper_log('delete', $this->session->userdata('username').' Successfully Delete No Absen ASN ID = '.$id.' !!!','Delete No Absen ASN ID = '.$id);
  285.                 $this->toastr->error('Username = ' . $this->session->userdata('username') . ' Successfully Delete No Absen ASN ID = '.$id.' !!!','Delete NO Absen ASN ID = '.$id. ' !!!');
  286.  
  287.                 redirect('No-Asn-Absen.html', 'refresh');
  288.             }
  289.         }
  290.     }
  291.  
  292.     // Website Setting
  293.     public function Setting()
  294.     {
  295.         $setting        = $this->Dashboard->viewAll('*', 'tbl_setting')->result_array();
  296.        
  297.         $data           = [
  298.             'titles'        => "Dashboard Administrator || View Website Setting Pages",
  299.             'title'         => 'Update Setting',
  300.             'settings'      => $this->Dashboard->viewWhere('tbl_setting','id_setting', 1)->result_array(),
  301.             'user'          => $this->Dashboard->viewWhere('tbl_users', 'id_users', $this->session->userdata('id'))->result_array(),
  302.             'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  303.             'breadcumb'     => 'Website Setting',
  304.             'view'          => "v_Setting"
  305.         ];
  306.  
  307.         $this->load->view("index", $data);
  308.     }
  309.  
  310.     // Action Edit Setting
  311.     public function ActionSetting()
  312.     {
  313.         $update     = [
  314.             'application_name'          => htmlentities($this->input->post('application_name'))
  315.             // 'address'                   => htmlentities($this->input->post('address')),
  316.             // 'phone_number'              => htmlentities($this->input->post('phone_number')),
  317.             // 'host'                      => htmlentities($this->input->post('host')),
  318.             // 'email'                     => htmlentities($this->input->post('email')),
  319.             // 'password'                  => htmlentities($this->input->post('password_email')),
  320.             // 'facebook'                  => htmlentities($this->input->post('facebook')),
  321.             // 'website'                   => htmlentities($this->input->post('website')),
  322.         ];
  323.        
  324.         if($this->Dashboard->update('tbl_setting', 'id_setting', 1, $update)){
  325.             //  Active Auth Acces
  326.             // $active     = htmlentities($this->input->post('switch'));
  327.  
  328.             // if($active === 'on'){
  329.             //     $data   = [
  330.             //         'status_auth'   => '1'
  331.             //     ];
  332.             // }else{
  333.             //     $data   = [
  334.             //         'status_auth'   => '0'
  335.             //     ];
  336.             // }
  337.  
  338.             // // Update Status
  339.             // if($this->Dashboard->update('tbl_auth', 'id_auth', 1, $data)){
  340.                 $this->toastr->success('Username = '.$this->session->userdata('username').' Update Setting Application Successfuly !!!');
  341.                 helper_log('edit', $this->session->userdata('username').' Update Setting Applications ', 'Account Username = '.$this->session->userdata('username').' Successfuly Update Seettings Applications');
  342.  
  343.                 redirect('Setting.html','refresh');
  344.             // }
  345.         }
  346.     }
  347.    
  348.     // End Pengaturan Aplikasi //
  349.  
  350.     public function Synchronize()
  351.     {
  352.         // At start of script
  353.         $time_start = microtime(true);
  354.  
  355.         $join       = array(
  356.                             ['template', 'userinfo.userid=template.userid', 'LEFT']
  357.                         );
  358.  
  359.         $cek        = $this->Dashboard->viewAll2('*','userinfo')->result_array();
  360.        
  361.         $cekLocal   = $this->Dashboard->viewAll('*','tbl_pegawai')->result_array();
  362.        
  363.         // $cek        = $this->Dashboard->viewGlobalJoin2(
  364.         //     '
  365.         //         userinfo.badgenumber AS badgenumber,
  366.         //         userinfo.name AS name,
  367.         //         userinfo.userid AS userid,
  368.         //         template.Template AS fingerprint
  369.         //     ',
  370.         //     'userinfo',
  371.         //     $join)->result_array();
  372.            
  373.         if(empty($cekLocal)){
  374.             // If Empty
  375.             foreach ($cek as $row) {
  376.                 $this->db->trans_start();
  377.                 $data       = [
  378.                     'nama_pegawai'          => $row['name'],
  379.                     // 'template'              => $row['fingerprint'],
  380.                     'badge_number'          => $row['badgenumber'],
  381.                     'userid_machines'       => $row['userid']
  382.                 ];
  383.                
  384.                 $this->Dashboard->insert('tbl_pegawai', $data);
  385.                
  386.                 if ($this->db->trans_status() === FALSE){
  387.                     $this->db->trans_rollback();
  388.                 }else{
  389.                     $this->db->trans_commit();
  390.                 }
  391.                 $this->db->trans_complete();
  392.             }
  393.         }else{
  394.             $cekLastData        = $this->Dashboard->lastData('*','tbl_pegawai', 'id_pegawai')->result_array();
  395.  
  396.             // Get Data From userinfo
  397.             $getUserInfo        = $this->Dashboard->viewWhereAssosiative2('*','tbl_pegawai',['badge_number >' => $cekLastData[0]['badge_number']])->result_array();
  398.            
  399.             foreach ($getUserInfo as $row) {
  400.                 $this->db->trans_start();
  401.                 $data       = [
  402.                     'nama_pegawai'          => $row['name'],
  403.                     'badge_number'          => $row['badgenumber'],
  404.                     'userid_machines'       => $row['userid']
  405.                 ];
  406.                
  407.                 $this->Dashboard->insert('tbl_pegawai', $data);
  408.                 if ($this->db->trans_status() === FALSE){
  409.                     $this->db->trans_rollback();
  410.                 }else{
  411.                     $this->db->trans_commit();
  412.                 }
  413.                 $this->db->trans_complete();
  414.             }
  415.         }
  416.        
  417.  
  418.         $time_end = microtime(true);
  419.         echo 'Total execution time in seconds: ' . (microtime(true) - $time_start);
  420.     }
  421.  
  422.     public function getLogAttandences()
  423.     {
  424.         // At start of script
  425.         $time_start = microtime(true);
  426.  
  427.         $cek        = $this->Dashboard->viewAll2('*','checkinout')->result_array();
  428.        
  429.         $cekLocal   = $this->Dashboard->viewAll('*','tbl_absensi')->result_array();
  430.        
  431.         if(empty($cekLocal)){
  432.             // If Empty
  433.             foreach ($cek as $row) {
  434.                 $this->db->trans_start();
  435.                 $data       = [
  436.                     'id_machines'           => $row['SN'],
  437.                     'userid_machines'       => $row['userid'],
  438.                     'checktime'             => $row['checktime'],
  439.                     'checktype'             => $row['checktype'],
  440.                     'verifycode'            => $row['verifycode'],
  441.                     'sensorid'              => $row['sensorid']
  442.                 ];
  443.                
  444.                 $this->Dashboard->insert('tbl_absensi', $data);
  445.                 if ($this->db->trans_status() === FALSE){
  446.                     $this->db->trans_rollback();
  447.                 }else{
  448.                     $this->db->trans_commit();
  449.                 }
  450.                 $this->db->trans_complete();
  451.             }
  452.         }else{
  453.             $cekLastData        = $this->Dashboard->lastData('*','tbl_absensi', 'id_absensi')->result_array();
  454.  
  455.             // Get Data From userinfo
  456.             $getUserInfo        = $this->Dashboard->viewWhereAssosiative2('*','tbl_absensi',['userid_machines >' => $cekLastData[0]['userid_machines']])->result_array();
  457.            
  458.             foreach ($getUserInfo as $row) {
  459.                 $this->db->trans_start();
  460.                 $data       = [
  461.                     'id_machines'           => $row['SN'],
  462.                     'userid_machines'       => $row['userid'],
  463.                     'checktime'             => $row['checktime'],
  464.                     'checktype'             => $row['checktype'],
  465.                     'verifycode'            => $row['verifycode'],
  466.                     'sensorid'              => $row['sensorid']
  467.                 ];
  468.                
  469.                 $this->Dashboard->insert('tbl_absensi', $data);
  470.                 if ($this->db->trans_status() === FALSE){
  471.                     $this->db->trans_rollback();
  472.                 }else{
  473.                     $this->db->trans_commit();
  474.                 }
  475.                 $this->db->trans_complete();
  476.             }
  477.         }
  478.  
  479.         $time_end = microtime(true);
  480.         echo 'Total execution time in seconds: ' . (microtime(true) - $time_start);
  481.     }
  482.  
  483.     // View Admin Unit
  484.     public function AdminUnit()
  485.     {
  486.         $join       = array(
  487.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  488.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  489.         );
  490.  
  491.         $data       = [
  492.             'titles'        => "Dashboard Administrator || View Admin Unit Pages",
  493.             'settings'      => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  494.             'user'          => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  495.             'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  496.             'pegawai'       => $this->Dashboard->viewAll('*','tbl_pegawai')->result_array(),
  497.             'adminUnit'     => $this->Dashboard->viewAll(
  498.                 '
  499.                    *
  500.                ',
  501.                 'tbl_jabatan'
  502.                 )->result_array(),
  503.             'adminunit'     => true,
  504.             'breadcumb'     => "View Admin Unit",
  505.             'view'          => "v_AdminUnit"
  506.         ];
  507.  
  508.         $this->load->view("index", $data);
  509.     }
  510.  
  511.     // Json View Datatable Admin Unit
  512.     public function jsonAdminUnit()
  513.     {
  514.         header('Content-Type: application/json');
  515.  
  516.         echo $this->Dashboard->jsonWhereAsso(
  517.             '
  518.                tbl_pegawai.id_pegawai,
  519.                tbl_pegawai.nama_pegawai,
  520.                tbl_pegawai.id_jabatan
  521.            ',
  522.             'tbl_pegawai',
  523.         );
  524.     }
  525.  
  526.     // View Add Admin Unit
  527.     public function AddAdminUnit()
  528.     {
  529.         $data       = [
  530.             'titles'        => "Dashboard Administrator || View Add Admin Unit Pages",
  531.             'settings'      => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  532.             'user'          => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  533.             'version'       => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  534.             'addadminunit'  => true,
  535.             'breadcumb'     => "View Add Admin Unit",
  536.             'view'          => "v_AddAdminUnit"
  537.         ];
  538.        
  539.         $this->load->view("index", $data);
  540.     }
  541.  
  542.     // Action Add Admin Unit
  543.     public function ActionAddAdminUnit()
  544.     {
  545.         $id_pegawai     = htmlentities($this->input->post('id_pegawai'));
  546.  
  547.         $update   = [
  548.             // 'id_jabatan'        => htmlentities($this->input->post('id_jabatan'))
  549.             // 'id_jabatan'        => 6
  550.         ];
  551.  
  552.         if($this->Dashboard->update('tbl_pegawai', 'id_pegawai', $id_pegawai, $update)){
  553.             helper_log('edit', $this->session->userdata('username').' Successfully Add Admin Unit ID '.$id_pegawai.' Successfully !!!');
  554.             $this->toastr->success('Username : ' . $this->session->userdata('username') . ' Add Admin Unit ID '.$id_pegawai.' Successfully !!!');
  555.            
  556.             redirect('AdminUnit.html', 'refresh');
  557.         }
  558.     }
  559.  
  560.     // Action Delete Admin Unit
  561.     public function ActionDeleteAdminUnit($id=0)
  562.     {
  563.         if($id!=0){
  564.             $update   = [
  565.                 'id_jabatan'        => 0
  566.             ];
  567.  
  568.             if($this->Dashboard->update('tbl_pegawai', 'id_pegawai', $id, $update)){
  569.                 helper_log('edit', $this->session->userdata('username').' Successfully Add Admin Unit ID '.$id.' Successfully !!!');
  570.                 $this->toastr->success('Username : ' . $this->session->userdata('username') . ' Add Admin Unit ID '.$id.' Successfully !!!');
  571.                
  572.                 redirect('AdminUnit.html', 'refresh');
  573.             }
  574.         }
  575.     }
  576.  
  577.     // Make Account Admin Unit
  578.     public function ActionMakeAccountAdminUnit($id=0)
  579.     {
  580.         if($id!=0){
  581.             // Check id_pegawai sudah ada di tbl_users belum
  582.             $check              = $this->Dashboard->viewWhere('tbl_pegawai','id_pegawai',$id)->result_array();
  583.  
  584.             // Check Account
  585.             $checkAccount       = $this->Dashboard->viewWhereAssosiative('*','tbl_users', ['userid'     => $check[0]['userid_machines']]);
  586.  
  587.             if($checkAccount->num_rows !== 0){
  588.                 $username   = $check[0]['nip'];
  589.             }else{
  590.                 $username   = '';
  591.             }
  592.            
  593.             if($checkAccount->num_rows() === 0){
  594.                 $jdArray        = $checkAccount->result_array();
  595.                 // Make Account
  596.                 $data   = [
  597.                     'userid'            => $check[0]['userid_machines'],
  598.                     'users_name'        => $check[0]['nama_pegawai'],
  599.                     'username'          => $username,
  600.                     'password'          => password_hash('123456', PASSWORD_BCRYPT),
  601.                     'role_id'           => 2
  602.                 ];
  603.                
  604.                 if($this->Dashboard->insert('tbl_users', $data)){
  605.                     helper_log('add', $this->session->userdata('username').' Successfully Add Account Admin Unit For '.$data['users_name'].' Successfully!!!');
  606.                     $this->toastr->success('Username : ' . $this->session->userdata('username') . ' Successfully Add Account Admin Unit For '.$data['user_name'].' Successfully!!!');
  607.                 }
  608.                
  609.                 redirect('AdminUnit.html', 'refresh');
  610.             }else{
  611.                 $this->toastr->error('Account Alraedy Exist !!!');
  612.  
  613.                 redirect('AdminUnit.html', 'refresh');
  614.             }
  615.         }
  616.     }
  617.  
  618.     // View Izin
  619.     public function ViewIzin()
  620.     {
  621.         $cekPerangkat   = $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array();
  622.         $join           = array(
  623.                             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  624.                             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  625.                         );
  626.         $cekPegawai     = $this->Dashboard->viewGlobalJoinWhere(
  627.             '
  628.                tbl_pegawai.id_pegawai,
  629.                tbl_pegawai.userid_machines,
  630.                tbl_perangkat.id_perangkat,
  631.                tbl_perangkat.nama_perangkat
  632.            ',
  633.             'tbl_pegawai',
  634.             ['tbl_pegawai.userid_machines'      => $cekPerangkat[0]['userid']],
  635.             $join)->result_array();
  636.  
  637.         $data           = [
  638.             'titles'                => "Dashboard Administrator || View Izin Pages",
  639.             'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  640.             'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  641.             'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  642.             'pegawai'               => $this->Dashboard->viewGlobalJoin(
  643.                 '
  644.                    tbl_pegawai.id_pegawai,
  645.                    tbl_pegawai.nama_pegawai,
  646.                    tbl_pegawai.userid_machines,
  647.                    tbl_perangkat.id_perangkat,
  648.                    tbl_perangkat.nama_perangkat
  649.                ',
  650.                 'tbl_pegawai',
  651.                 $join)->result_array(),
  652.             'izin'                  => true,
  653.             'breadcumb'             => "View Izin List",
  654.             'view'                  => "v_IzinList"
  655.         ];
  656.        
  657.         $this->load->view("index", $data);
  658.     }
  659.  
  660.     // Json View Datatable Izin
  661.     public function jsonIzin()
  662.     {
  663.         $join           = array(
  664.             ['tbl_pegawai', 'tbl_pegawai.userid_machines=tbl_cuti.userid', 'LEFT'],
  665.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  666.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  667.         );
  668.  
  669.         header('Content-Type: application/json');
  670.  
  671.         echo $this->Dashboard->jsonGlobalJoin(
  672.             '
  673.                tbl_cuti.id_cuti,
  674.                tbl_cuti.tgl_pengajuan_cuti,
  675.                tbl_cuti.tanggal_cuti,
  676.                tbl_cuti.keterangan,
  677.                tbl_cuti.dokumen,
  678.                tbl_pegawai.id_pegawai,
  679.                tbl_pegawai.nama_pegawai,
  680.                tbl_pegawai.id_jabatan,
  681.                tbl_jabatan.nama_jabatan,
  682.                tbl_perangkat.id_perangkat,
  683.                tbl_perangkat.nama_perangkat
  684.            ',
  685.             'tbl_cuti',
  686.             $join
  687.         );
  688.     }
  689.  
  690.     // View Add Izin
  691.     public function AddIzin()
  692.     {
  693.         $cekPerangkat   = $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array();
  694.         $join           = array(
  695.                             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  696.                             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  697.                         );
  698.         $cekPegawai     = $this->Dashboard->viewGlobalJoinWhere(
  699.             '
  700.                tbl_pegawai.id_pegawai,
  701.                tbl_pegawai.userid_machines,
  702.                tbl_perangkat.id_perangkat,
  703.                tbl_perangkat.nama_perangkat
  704.            ',
  705.             'tbl_pegawai',
  706.             ['tbl_pegawai.userid_machines'      => $cekPerangkat[0]['userid']],
  707.             $join)->result_array();
  708.  
  709.         $data           = [
  710.             'titles'                => "Dashboard Administrator || View Add Izin Pages",
  711.             'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  712.             'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  713.             'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  714.             'pegawai'               => $this->Dashboard->viewGlobalJoin(
  715.                 '
  716.                    tbl_pegawai.id_pegawai,
  717.                    tbl_pegawai.nama_pegawai,
  718.                    tbl_pegawai.userid_machines,
  719.                    tbl_perangkat.id_perangkat,
  720.                    tbl_perangkat.nama_perangkat
  721.                ',
  722.                 'tbl_pegawai',
  723.                 $join)->result_array(),
  724.             'izin'                  => true,
  725.             'breadcumb'             => "View Add Izin",
  726.             'view'                  => "v_AddIzin"
  727.         ];
  728.        
  729.         $this->load->view("index", $data);
  730.     }
  731.  
  732.     // Action Delete Izin
  733.     public function DeleteIzin($id=0)
  734.     {
  735.         if($id!=0){
  736.             // Get Images
  737.             $checkCuti      = $this->Dashboard->viewWhere('tbl_cuti','id_cuti',$id)->result_array();            // $checkCuti[0]['dokumen']
  738.             $getImages      = $checkCuti[0]['dokumen'];
  739.             $path           = 'document/izin/'.$getImages;
  740.  
  741.             if(file_exists($path)){
  742.                 unlink($path);
  743.                 if($this->Dashboard->delete('id_cuti', 'tbl_cuti', $id)){
  744.                     helper_log('delete', $this->session->userdata('username').' Successfully Delete Izin Cuti = '.$id.' !!!','Delete Izin Cuti ID = '.$id);
  745.                     $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Delete Izin Cuti ID = '.$id.' !!!','Delete Izin Cuti ID = '.$id. ' !!!');
  746.  
  747.                     redirect('ViewIzinAdm.html', 'refresh');
  748.                 }
  749.             }else{
  750.                 if($this->Dashboard->delete('id_cuti', 'tbl_cuti', $id)){
  751.                     helper_log('delete', $this->session->userdata('username').' Successfully Delete Izin Cuti = '.$id.' !!!','Delete Izin Cuti ID = '.$id);
  752.                     $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Delete Izin Cuti ID = '.$id.' !!!','Delete Izin Cuti ID = '.$id. ' !!!');
  753.  
  754.                     redirect('ViewIzinAdm.html', 'refresh');
  755.                 }
  756.             }
  757.         }
  758.     }
  759.  
  760.     // Action Add Izin
  761.     public function ActionAddIzin()
  762.     {
  763.         $dokumen                        = $_FILES['dokumen'];
  764.  
  765.         $begin                          = new DateTime($this->input->post('dari'));
  766.         $end                            = new DateTime($this->input->post('sampai'));
  767.         $end                            = $end->modify('+1 day');
  768.  
  769.         $interval                       = new DateInterval('P1D'); //referensi : https://en.wikipedia.org/wiki/ISO_8601#Durations
  770.         $daterange                      = new DatePeriod($begin, $interval ,$end);
  771.  
  772.         if($dokumen['name'] !== ''){
  773.             $config['upload_path']      = './document/izin';
  774.             $config['allowed_types']    = 'jpg|png|jpeg';
  775.             $config['max_size']         = 5048;
  776.             $config['file_name']        = 'Izin-' . date('Y-m-d');
  777.  
  778.             $this->load->library('upload', $config);
  779.             $this->upload->initialize($config);
  780.  
  781.             if (!$this->upload->do_upload('dokumen')) {
  782.                 $this->toastr->warning('Failed to Upload Document, Make Sure the format is PNG or JPEG or JPG and Size 2 mb !!');
  783.  
  784.                 redirect('ViewIzinAdm.html','refresh');
  785.             } else {
  786.                 foreach ($daterange as $date) {
  787.                     $data               = [
  788.                         'tgl_pengajuan_cuti'        => date('Y-m-d'),
  789.                         'tanggal_cuti'              => $date->format("Y-m-d"),
  790.                         'userid'                    => htmlentities($this->input->post('id_pegawai')),
  791.                         'keterangan'                => htmlentities($this->input->post('keterangan')),
  792.                         'dokumen'                   => $this->upload->data('file_name')
  793.                     ];
  794.  
  795.                     $this->Dashboard->insert('tbl_cuti', $data);
  796.                 }
  797.  
  798.                 helper_log('add', $this->session->userdata('username').' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']);
  799.                 $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']. ' !!!');
  800.  
  801.                 redirect('ViewIzinAdm.html', 'refresh');
  802.             }
  803.         }else{
  804.             foreach ($daterange as $date) {
  805.                 $data   = [
  806.                     'tgl_pengajuan_cuti'        => date('Y-m-d'),
  807.                     'tanggal_cuti'              => $date->format("Y-m-d"),
  808.                     'userid'                    => htmlentities($this->input->post('id_pegawai')),
  809.                     'keterangan'                => htmlentities($this->input->post('keterangan'))
  810.                 ];
  811.  
  812.                 $this->Dashboard->insert('tbl_cuti', $data);
  813.             }
  814.            
  815.             helper_log('add', $this->session->userdata('username').' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']);
  816.             $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']. ' !!!');
  817.  
  818.             redirect('ViewIzinAdm.html', 'refresh');
  819.         }
  820.     }
  821.  
  822.     // View SPT
  823.     public function ViewSPT()
  824.     {
  825.         $cekPerangkat   = $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array();
  826.         $join           = array(
  827.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  828.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  829.                         );
  830.         $cekPegawai     = $this->Dashboard->viewGlobalJoinWhere(
  831.             '
  832.                tbl_pegawai.id_pegawai,
  833.                tbl_pegawai.userid_machines,
  834.                tbl_perangkat.id_perangkat,
  835.                tbl_perangkat.nama_perangkat
  836.            ',
  837.             'tbl_pegawai',
  838.             ['tbl_pegawai.userid_machines'      => $cekPerangkat[0]['userid']],
  839.             $join)->result_array();
  840.  
  841.         $data           = [
  842.             'titles'                => "Dashboard Administrator || View SPT List Pages",
  843.             'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  844.             'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  845.             'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  846.             'pegawai'               => $this->Dashboard->viewGlobalJoin(
  847.                 '
  848.                    tbl_pegawai.id_pegawai,
  849.                    tbl_pegawai.nama_pegawai,
  850.                    tbl_pegawai.userid_machines,
  851.                    tbl_perangkat.id_perangkat,
  852.                    tbl_perangkat.nama_perangkat
  853.                ',
  854.                 'tbl_pegawai',
  855.                 $join)->result_array(),
  856.             'spt'                   => true,
  857.             'breadcumb'             => "View SPT List",
  858.             'view'                  => "v_SPTList"
  859.         ];
  860.        
  861.         $this->load->view("index", $data);
  862.     }
  863.  
  864.     // Json View Datatable SPT
  865.     public function jsonSPT()
  866.     {
  867.         $join           = array(
  868.             ['tbl_pegawai', 'tbl_pegawai.userid_machines=tbl_spt.userid', 'LEFT'],
  869.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  870.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  871.         );
  872.  
  873.         header('Content-Type: application/json');
  874.  
  875.         echo $this->Dashboard->jsonGlobalJoin(
  876.             '
  877.                tbl_spt.id_spt,
  878.                tbl_spt.tanggal_pengajuan,
  879.                tbl_spt.tanggal,
  880.                tbl_spt.kota_tujuan,
  881.                tbl_spt.keterangan,
  882.                tbl_spt.dokumen,
  883.                tbl_pegawai.nama_pegawai,
  884.                tbl_pegawai.id_jabatan,
  885.                tbl_jabatan.nama_jabatan,
  886.                tbl_perangkat.id_perangkat,
  887.                tbl_perangkat.nama_perangkat
  888.            ',
  889.             'tbl_spt',
  890.             $join
  891.         );
  892.     }
  893.  
  894.     // View Add SPT
  895.     public function AddSPT()
  896.     {
  897.         $cekPerangkat   = $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array();
  898.         $join           = array(
  899.                             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  900.                             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  901.                         );
  902.         $cekPegawai     = $this->Dashboard->viewGlobalJoinWhere(
  903.             '
  904.                tbl_pegawai.id_pegawai,
  905.                tbl_pegawai.userid_machines,
  906.                tbl_perangkat.id_perangkat,
  907.                tbl_perangkat.nama_perangkat
  908.            ',
  909.             'tbl_pegawai',
  910.             ['tbl_pegawai.userid_machines'      => $cekPerangkat[0]['userid']],
  911.             $join)->result_array();
  912.  
  913.         $data           = [
  914.             'titles'                => "Dashboard Administrator || View Add SPT Pages",
  915.             'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  916.             'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  917.             'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  918.             'pegawai'               => $this->Dashboard->viewGlobalJoin(
  919.                 '
  920.                    tbl_pegawai.id_pegawai,
  921.                    tbl_pegawai.nama_pegawai,
  922.                    tbl_pegawai.userid_machines,
  923.                    tbl_perangkat.id_perangkat,
  924.                    tbl_perangkat.nama_perangkat
  925.                ',
  926.                 'tbl_pegawai',
  927.                 $join)->result_array(),
  928.             'spt'                   => true,
  929.             'breadcumb'             => "View Add SPT",
  930.             'view'                  => "v_AddSPT"
  931.         ];
  932.        
  933.         $this->load->view("index", $data);
  934.     }
  935.  
  936.     // Action Add SPT
  937.     public function ActionAddSPT()
  938.     {
  939.         $dokumen            = $_FILES['dokumen'];
  940.  
  941.         $begin              = new DateTime($this->input->post('dari'));
  942.         $end                = new DateTime($this->input->post('sampai'));
  943.         $end                = $end->modify('+1 day');
  944.  
  945.         $interval           = new DateInterval('P1D'); //referensi : https://en.wikipedia.org/wiki/ISO_8601#Durations
  946.         $daterange          = new DatePeriod($begin, $interval ,$end);
  947.  
  948.         if($dokumen['name'] !== ''){
  949.             $config['upload_path']      = './document/spt';
  950.             $config['allowed_types']    = 'jpg|png';
  951.             $config['max_size']         = 2048;
  952.             $config['file_name']        = 'SPT-' . date('Y-m-d');
  953.  
  954.             $this->load->library('upload', $config);
  955.             $this->upload->initialize($config);
  956.  
  957.             if (!$this->upload->do_upload('dokumen')) {
  958.                 $this->toastr->warning('Failed to Upload Document, Make Sure the format is PNG or JPEG or JPG and Size 2 mb !!');
  959.  
  960.                 redirect('ViewSPTAdm.html','refresh');
  961.             } else {
  962.                 foreach ($daterange as $date) {
  963.                     $data   = [
  964.                         'tanggal_pengajuan'         => date('Y-m-d'),
  965.                         'tanggal'                   => $date->format("Y-m-d"),
  966.                         'userid'                    => htmlentities($this->input->post('id_pegawai')),
  967.                         'kota_tujuan'               => htmlentities($this->input->post('kota')),
  968.                         'keterangan'                => htmlentities($this->input->post('keterangan')),
  969.                         'dokumen'                   => $this->upload->data('file_name')
  970.                     ];
  971.  
  972.                     $this->Dashboard->insert('tbl_spt', $data);
  973.                 }
  974.  
  975.                 helper_log('add', $this->session->userdata('username').' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']);
  976.                 $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']. ' !!!');
  977.  
  978.                 redirect('ViewSPTAdm.html', 'refresh');
  979.             }
  980.         }else{
  981.             foreach ($daterange as $date) {
  982.                 $data   = [
  983.                     'tanggal_pengajuan'         => date('Y-m-d'),
  984.                     'tanggal'                   => $date->format("Y-m-d"),
  985.                     'userid'                    => htmlentities($this->input->post('id_pegawai')),
  986.                     'kota_tujuan'               => htmlentities($this->input->post('kota')),
  987.                     'keterangan'                => htmlentities($this->input->post('keterangan'))
  988.                 ];
  989.  
  990.                 $this->Dashboard->insert('tbl_spt', $data);
  991.             }
  992.            
  993.             helper_log('add', $this->session->userdata('username').' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']);
  994.             $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Add Izin Cuti = '.$data['userid'].' !!!','Add Izin USERID '.$data['userid']. ' !!!');
  995.  
  996.             redirect('ViewSPTAdm.html', 'refresh');
  997.         }
  998.     }
  999.  
  1000.     // Action Delete SPT
  1001.     public function DeleteSPT($id=0)
  1002.     {
  1003.         if($id!=0){
  1004.             // Get Images
  1005.             $checkSpt       = $this->Dashboard->viewWhere('tbl_spt','id_spt',$id)->result_array();            // $checkSpt[0]['dokumen']
  1006.             $getImages      = $checkSpt[0]['dokumen'];
  1007.             $path           = 'document\spt/'.$getImages;
  1008.  
  1009.             if(file_exists($path)){
  1010.                 unlink($path);
  1011.  
  1012.                 if($this->Dashboard->delete('id_spt', 'tbl_spt', $id)){
  1013.                     helper_log('delete', $this->session->userdata('username').' Successfully Delete SPT ID = '.$id.' !!!','Delete SPT ID = '.$id);
  1014.                     $this->toastr->error('Username = ' . $this->session->userdata('username') . ' Successfully Delete SPT ID = '.$id.' !!!','Delete SPT ID = '.$id. ' !!!');
  1015.  
  1016.                     redirect('ViewSPTAdm.html', 'refresh');
  1017.                 }
  1018.             }else{
  1019.                 if($this->Dashboard->delete('id_spt', 'tbl_spt', $id)){
  1020.                     helper_log('delete', $this->session->userdata('username').' Successfully Delete SPT = '.$id.' !!!','Delete SPT ID = '.$id);
  1021.                     $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Delete Izin SPT ID = '.$id.' !!!','Delete SPT ID = '.$id. ' !!!');
  1022.                     redirect('ViewSPTAdm.html', 'refresh');
  1023.                 }
  1024.         }
  1025.     }
  1026. }
  1027.  
  1028.     public function ViewApel()
  1029.     {
  1030.         $cekPerangkat   = $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array();
  1031.         $join           = array(
  1032.                             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  1033.                             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  1034.                         );
  1035.         $cekPegawai     = $this->Dashboard->viewGlobalJoinWhere(
  1036.             '
  1037.                tbl_pegawai.id_pegawai,
  1038.                tbl_pegawai.userid_machines,
  1039.                tbl_perangkat.id_perangkat,
  1040.                tbl_perangkat.nama_perangkat
  1041.            ',
  1042.             'tbl_pegawai',
  1043.             ['tbl_pegawai.userid_machines'      => $cekPerangkat[0]['userid']],
  1044.             $join)->result_array();
  1045.  
  1046.         $data           = [
  1047.             'titles'                => "Dashboard Administrator || View Apel List Pages",
  1048.             'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  1049.             'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  1050.             'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  1051.             'pegawai'               => $this->Dashboard->viewGlobalJoin(
  1052.                 '
  1053.                    tbl_pegawai.id_pegawai,
  1054.                    tbl_pegawai.nama_pegawai,
  1055.                    tbl_pegawai.userid_machines,
  1056.                    tbl_perangkat.id_perangkat,
  1057.                    tbl_perangkat.nama_perangkat
  1058.                ',
  1059.                 'tbl_pegawai',
  1060.                 $join)->result_array(),
  1061.             'apel'                  => true,
  1062.             'breadcumb'             => "View Apel List",
  1063.             'view'                  => "v_ApelList"
  1064.         ];
  1065.        
  1066.         $this->load->view("index", $data);
  1067.     }
  1068.  
  1069.     // Json View Datatable Apel
  1070.     public function jsonApel()
  1071.     {
  1072.         $join           = array(
  1073.             ['tbl_pegawai', 'tbl_pegawai.userid_machines=tbl_apel_pagi.userid', 'LEFT'],
  1074.             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  1075.             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  1076.         );
  1077.  
  1078.         header('Content-Type: application/json');
  1079.  
  1080.         echo $this->Dashboard->jsonGlobalJoin(
  1081.             '
  1082.                tbl_apel_pagi.id_apel_pagi,
  1083.                tbl_apel_pagi.tanggal,
  1084.                tbl_apel_pagi.keterangan,
  1085.                tbl_pegawai.nama_pegawai,
  1086.                tbl_pegawai.id_jabatan,
  1087.                tbl_jabatan.nama_jabatan,
  1088.                tbl_perangkat.id_perangkat,
  1089.                tbl_perangkat.nama_perangkat
  1090.            ',
  1091.             'tbl_apel_pagi',
  1092.             $join
  1093.         );
  1094.     }
  1095.  
  1096.     // View Add Apel
  1097.     public function AddApel()
  1098.     {
  1099.         $cekPerangkat   = $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array();
  1100.         $join           = array(
  1101.                             ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  1102.                             ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  1103.                         );
  1104.         $cekPegawai     = $this->Dashboard->viewGlobalJoin(
  1105.             '
  1106.                tbl_pegawai.id_pegawai,
  1107.                tbl_pegawai.userid_machines,
  1108.                tbl_perangkat.id_perangkat,
  1109.                tbl_perangkat.nama_perangkat
  1110.            ',
  1111.             'tbl_pegawai',
  1112.             $join)->result_array();
  1113.  
  1114.         $data           = [
  1115.             'titles'                => "Dashboard Administrator || View Add Apel Pages",
  1116.             'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  1117.             'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  1118.             'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  1119.             'pegawai'               => $this->Dashboard->viewGlobalJoin(
  1120.                 '
  1121.                    tbl_pegawai.id_pegawai,
  1122.                    tbl_pegawai.nama_pegawai,
  1123.                    tbl_pegawai.userid_machines,
  1124.                    tbl_perangkat.id_perangkat,
  1125.                    tbl_perangkat.nama_perangkat
  1126.                ',
  1127.                 'tbl_pegawai',
  1128.                 $join)->result_array(),
  1129.             'apel'                  => true,
  1130.             'breadcumb'             => "View Add Apel",
  1131.             'view'                  => "v_AddApel"
  1132.         ];
  1133.        
  1134.         $this->load->view("index", $data);
  1135.     }
  1136.  
  1137.     // Action Add Apel
  1138.     public function ActionAddApel()
  1139.     {
  1140.         $data   = [
  1141.             'tanggal'               => date('Y-m-d'),
  1142.             'userid'                => htmlentities($this->input->post('id_pegawai')),
  1143.             'keterangan'            => htmlentities($this->input->post('keterangan'))
  1144.         ];
  1145.  
  1146.         if($this->Dashboard->insert('tbl_apel_pagi', $data)){
  1147.             helper_log('add', $this->session->userdata('username').' Successfully Inserted Data Apel Pagi '.json_encode($data, true).' !!!','Inserted Add Apel pagi data = '.json_encode($data, true));
  1148.             $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Inserted Data Apel Pagi !!!','Inserted Data Apel Pagi !!!');
  1149.  
  1150.             redirect('ViewApel.html', 'refresh');
  1151.         }
  1152.     }
  1153.  
  1154.     // View Edit Apel
  1155.     public function EditApel($id=0)
  1156.     {
  1157.         if($id!=0){
  1158.             $join           = array(
  1159.                                 ['tbl_jabatan', 'tbl_pegawai.id_jabatan=tbl_jabatan.id_jabatan', 'LEFT'],
  1160.                                 ['tbl_perangkat', 'tbl_jabatan.id_perangkat=tbl_perangkat.id_perangkat', 'LEFT']
  1161.                             );
  1162.  
  1163.             $data           = [
  1164.                 'titles'                => "Dashboard Administrator || View Edit Apel Pages",
  1165.                 'settings'              => $this->Dashboard->viewAll('*','tbl_setting')->result_array(),
  1166.                 'user'                  => $this->Dashboard->viewWhere('tbl_users','id_users', $this->session->userdata('id'))->result_array(),
  1167.                 'version'               => $this->Dashboard->viewWhere('tbl_version','id_version', 1)->result_array(),
  1168.                 'EditData'              => $this->Dashboard->viewWhere('tbl_apel_pagi','id_apel_pagi',$id)->result_array(),
  1169.                 'pegawai'               => $this->Dashboard->viewGlobalJoin(
  1170.                     '
  1171.                        tbl_pegawai.id_pegawai,
  1172.                        tbl_pegawai.nama_pegawai,
  1173.                        tbl_pegawai.userid_machines,
  1174.                        tbl_perangkat.id_perangkat,
  1175.                        tbl_perangkat.nama_perangkat
  1176.                    ',
  1177.                     'tbl_pegawai',
  1178.                     $join)->result_array(),
  1179.                 'apel'                  => true,
  1180.                 'breadcumb'             => "View Edit Apel",
  1181.                 'view'                  => "v_EditApel"
  1182.             ];
  1183.            
  1184.             $this->load->view("index", $data);
  1185.         }
  1186.     }
  1187.  
  1188.     // Action Edit Apel Pagi
  1189.     public function ActionEditApel()
  1190.     {
  1191.         $id         = htmlentities($this->input->post('idEdit'));
  1192.  
  1193.         if($id!=0){
  1194.             $update = [
  1195.                 'tanggal'               => htmlentities($this->input->post('tanggal')),
  1196.                 'userid'          => htmlentities($this->input->post('id_pegawai')),
  1197.                 'keterangan'            => htmlentities($this->input->post('keterangan'))
  1198.             ];
  1199.  
  1200.             if($this->Dashboard->update('tbl_apel_pagi', 'id_apel_pagi', $id, $update)){
  1201.                 helper_log('edit', $this->session->userdata('username').' Successfully Edit Data Apel ID = '.$id.' With Data = '.json_encode($update, true).' !!!','Edit Data Apel Pagi ID = '.$id.' with data = '.json_encode($update, true));
  1202.                 $this->toastr->success('Username = ' . $this->session->userdata('username') . ' Successfully Edit Data Apel Pagi!!!','Inserted Data Apel Pagi!!!');
  1203.    
  1204.                 redirect('ViewApel.html', 'refresh');
  1205.             }
  1206.         }
  1207.     }
  1208.  
  1209.     // Action Delete Apel
  1210.     public function DeleteApel($id=0)
  1211.     {
  1212.         if($id!=0){
  1213.             if($this->Dashboard->delete('id_apel_pagi', 'tbl_apel_pagi', $id)){
  1214.                 helper_log('delete', $this->session->userdata('username').' Successfully Delete Apel ID = '.$id.' !!!','Delete Apel ID = '.$id);
  1215.                 $this->toastr->error('Username = ' . $this->session->userdata('username') . ' Successfully Delete Apel ID = '.$id.' !!!','Delete SPT ID = '.$id. ' !!!');
  1216.  
  1217.                 redirect('ViewApel.html', 'refresh');
  1218.             }
  1219.         }else{
  1220.             if($this->Dashboard->delete('id_apel_pagi', 'tbl_apel_pagi', $id)){
  1221.                 helper_log('delete', $this->session->userdata('username').' Successfully Delete Apel ID = '.$id.' !!!','Delete Apel ID = '.$id);
  1222.                 $this->toastr->error('Username = ' . $this->session->userdata('username') . ' Successfully Delete Apel ID = '.$id.' !!!','Delete SPT ID = '.$id. ' !!!');
  1223.  
  1224.                 redirect('ViewApel.html', 'refresh');
  1225.             }
  1226.     }
  1227. }
  1228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement