load->model("UserModel"); $this->load->model("AbsenModel"); $this->load->model("AbsensiModel"); $this->load->model("UmkmModel"); $this->load->model("LaporanModel"); if($this->UserModel->isNotLogin()) { redirect(site_url('login')); } elseif(!($this->UserModel->isAdmin())) { redirect(site_url('dashboard')); } } public function index() { $data['tahun']=date('Y'); if($this->input->post()){ $post = $this->input->post(); $data['tahun']=$post['tahun']; $cek_absen = $this->AbsenModel->getAbsenCountByBulanAndYear($post['bulan'],$post['tahun']); if($cek_absen>0){ $data['msg']="error!"; } else { $cek_laporan = $this->LaporanModel->getLaporanCountByYear($post['tahun']); if($cek_laporan>0){ $data['error_tutup_tahun']=$post['tahun']; } else { if($post['bulan']!=='1'){ $cek_last_month_absen = $this->AbsenModel->getLastMonthAbsenCountByBulanAndYear($post['bulan'],$post['tahun']); if($cek_last_month_absen<1){ if($post['bulan']=='2'){ $last_mont = 'Januari'; } elseif($post['bulan']=='3'){ $last_mont = 'Februari'; } elseif($post['bulan']=='4'){ $last_mont = 'Maret'; } elseif($post['bulan']=='5'){ $last_mont = 'April'; } elseif($post['bulan']=='6'){ $last_mont = 'Mei'; } elseif($post['bulan']=='7'){ $last_mont = 'Juni'; } elseif($post['bulan']=='8'){ $last_mont = 'Juli'; } elseif($post['bulan']=='9'){ $last_mont = 'Agustus'; } elseif($post['bulan']=='10'){ $last_mont = 'September'; } elseif($post['bulan']=='11'){ $last_mont = 'Oktober'; } elseif($post['bulan']=='12'){ $last_mont = 'November'; } else { $last_mont = 'n/a'; } $data['error_last_mont']=$last_mont; } else { $jumlahumkm = $this->UmkmModel->getUmkmCount(); $listlastabsensi = $this->AbsensiModel->getLastMonthAbsensi($post['bulan'],$post['tahun']); $omset = 0; $aset = 0; $karyawan_l = 0; $karyawan_p = 0; foreach($listlastabsensi as $lastabsensi){ $aset = $aset + $lastabsensi->aset; $karyawan_l = $karyawan_l + $lastabsensi->karyawan_l; $karyawan_p = $karyawan_p + $lastabsensi->karyawan_p; } if($this->AbsenModel->save($jumlahumkm,$omset,$aset,$karyawan_l,$karyawan_p)){ $daftarumkm = $this->UmkmModel->getUmkm(); $new_absen = $this->AbsenModel->getAbsenByBulanAndYear($post['bulan'],$post['tahun']); $id_absen = $new_absen->id_absen; $bulan_absen = $new_absen->bulan; $tahun_absen = $new_absen->tahun; $this->AbsenModel->setOpenAbsen($id_absen); foreach($daftarumkm as $umkm){ if($bulan_absen!=='1'){ if(count($this->AbsensiModel->getLatestAbsensi($post['bulan'],$post['tahun'],$umkm->id_umkm))>0){ $latestabsensi = $this->AbsensiModel->getLatestAbsensi($post['bulan'],$post['tahun'],$umkm->id_umkm); $aset_absensi= $latestabsensi->aset; $karyawan_absensi_l = $latestabsensi->karyawan_l; $karyawan_absensi_p = $latestabsensi->karyawan_p; } else{ $aset_absensi= $umkm->aset_awal; $karyawan_absensi_l= $umkm->karyawan_l; $karyawan_absensi_p= $umkm->karyawan_p; } } else { $aset_absensi= $umkm->aset_awal; $karyawan_absensi_l= $umkm->karyawan_l; $karyawan_absensi_p= $umkm->karyawan_p; } $omset_absensi= 0; $this->AbsensiModel->save($id_absen,$umkm->id_umkm,$umkm->id_pemilik,$umkm->id_jenis,$umkm->id_kategori,$umkm->kecamatan,$umkm->kelurahan,$bulan_absen,$tahun_absen,$omset_absensi,$aset_absensi,$karyawan_absensi_l,$karyawan_absensi_p); } $data['msg']="success"; redirect(site_url('admin/absensi')); } else { $data['msg']="error!"; } } } else { $jumlahumkm = $this->UmkmModel->getUmkmCount(); $listumkm = $this->UmkmModel->getUmkm(); $omset = 0; $aset = 0; $karyawan_l = 0; $karyawan_p = 0; foreach($listumkm as $umkm){ $aset = $aset + $umkm->aset_awal; $karyawan_l = $karyawan_l + $umkm->karyawan_l; $karyawan_p = $karyawan_p + $umkm->karyawan_p; } if($this->AbsenModel->save($jumlahumkm,$omset,$aset,$karyawan_l,$karyawan_p)){ $daftarumkm = $this->UmkmModel->getUmkm(); $new_absen = $this->AbsenModel->getAbsenByBulanAndYear($post['bulan'],$post['tahun']); $id_absen = $new_absen->id_absen; $bulan_absen = $new_absen->bulan; $tahun_absen = $new_absen->tahun; $this->AbsenModel->setOpenAbsen($id_absen); foreach($daftarumkm as $umkm){ if($bulan_absen!=='1'){ $latestabsensi = $this->AbsensiModel->getLatestAbsensi($post['bulan'],$post['tahun'],$umkm->id_umkm); $aset_absensi= $latestabsensi->aset; $karyawan_absensi_l = $latestabsensi->karyawan_l; $karyawan_absensi_p = $latestabsensi->karyawan_p; } else { $aset_absensi= $umkm->aset_awal; $karyawan_absensi_l= $umkm->karyawan_l; $karyawan_absensi_p= $umkm->karyawan_p; } $omset_absensi= 0; $this->AbsensiModel->save($id_absen,$umkm->id_umkm,$umkm->id_pemilik,$umkm->id_jenis,$umkm->id_kategori,$umkm->kecamatan,$umkm->kelurahan,$bulan_absen,$tahun_absen,$omset_absensi,$aset_absensi,$karyawan_absensi_l,$karyawan_absensi_p); } $data['msg']="success"; redirect(site_url('admin/absensi')); } else { $data['msg']="error!"; } } } } } $data['user_logged'] = $this->session->userdata('user_logged'); $this->load->view('admin/tambahabsen',$data); } }