| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- <?php
- namespace App\Http\Controllers\Core;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Crypt;
- use Illuminate\Http\Request;
- use App\Model\Privillage\Role;
- use App\Model\Inspeksi\Inspeksi;
- use App\Model\TahunProgram;
- use App\Model\TemplateProgram;
- use App\Model\TemplateProgramDetail;
- use App\Model\TahunProgramDetail;
- use App\Model\UPTSModel;
- use Auth;
- use Session;
- class AktivasiProgramController extends Controller
- {
- public function __construct()
- {
- $this->middleware('auth');
- $this->table = new TahunProgram;
- }
-
- public function index () {
- return view('aktivasi-program/aktivasi-program');
- }
-
- public function edit($id) {
- $data = $this->table->with('tahunProgramDetail')->find($id);
- $templateProgram = TemplateProgram::get();
- $templateProgramDetail = TemplateProgramDetail::get();
- $upt = UPTSModel::get();
- return view('aktivasi-program/edit', compact('id','data','templateProgram','templateProgramDetail','upt'));
- }
- public function detail($id) {
- $data = $this->table->with('tahunProgramDetail')->find($id);
- $templateProgram = TemplateProgram::get();
- $templateProgramDetail = TemplateProgramDetail::get();
- $upt = UPTSModel::get();
- return view('aktivasi-program/detail', compact('id','data','templateProgram','templateProgramDetail','upt'));
- }
- public function add() {
- $nama = Auth::user()->name;
- $templateProgram = TemplateProgram::get();
- $upt = UPTSModel::get();
- return view('aktivasi-program/add', compact('nama','templateProgram','upt'));
- }
- function checkActiveTahunProgram($id){
- $ok = true;
-
- $query = $this->table->where('status',1);
- if(!empty($id)){
- $query = $query->where('id','!=',$id);
- }
- if($query->count() > 0){
- $ok = false;
- }
- return $ok;
- }
- public function update($id,Request $request){
- $query = $this->table->find($id);
- $query->value = $request->value;
- $query->label_tahun_program = $request->value;
- $query->status = $request->status;
-
- if($query->status == 1 && !$this->checkActiveTahunProgram($id)){
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menyimpan Data. masih terdapat tahun program yang "Aktif" di tahun program lainnya');
- return redirect()->back();
- }
- if($query->save()){
-
- $tahunProgramIds = [];
- if($request->has('uniqids') && $request->uniqids != ""){
- $uniqids = explode(",",$request->uniqids);
- foreach($uniqids as $row){
- $attribute = [];
- $attribute['id_template_program_detail'] = $request->get('id_template_program_detail_'.$row);
- $attribute['id_template_program'] = $request->get('id_template_program_'.$row);
- $attribute['satuan'] = $request->get('satuan_'.$row);
- $attribute['jumlah'] = $request->get('jumlah_'.$row);
-
- $id = !empty($request->get('id_'.$row))?$request->get('id_'.$row):null;
-
- $qTahunProgramDetail = $query->tahunProgramDetail()->updateOrCreate(['id'=>$id],$attribute);
- $tahunProgramIds[] = $qTahunProgramDetail->id;
- }
- }
-
- //delete unused data
- TahunProgramDetail::where('id_tahun_program',$query->id)->whereNotIn('id',$tahunProgramIds)->delete();
- if($query){
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'green');
- Session::flash('icons', 'fas fa-clipboard-check');
- Session::flash('alert', 'Berhasil Menyimpan Data!');
- return redirect()->back();
- }else{
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menyimpan Data!');
- return redirect()->back();
- }
- }else{
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menyimpan Data!');
- return redirect()->back();
- }
- }
- public function create(Request $request){
- $query = $this->table;
- $query->value = $request->value;
- $query->label_tahun_program = $request->value;
- $query->status = $request->status;
-
- if($query->status == 1 && !$this->checkActiveTahunProgram(null)){
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menyimpan Data, masih terdapat tahun program yang "Aktif" di tahun program lainnya');
- return redirect()->back();
- }
- if($query->save()){
- if($request->has('uniqids') && $request->uniqids != ""){
- $uniqids = explode(",",$request->uniqids);
- foreach($uniqids as $row){
- $attribute = [];
- $attribute['id_template_program_detail'] = $request->get('id_template_program_detail_'.$row);
- $attribute['id_template_program'] = $request->get('id_template_program_'.$row);
- $attribute['satuan'] = $request->get('satuan_'.$row);
- $attribute['jumlah'] = $request->get('jumlah_'.$row);
-
- $id = !empty($request->get('id_'.$row))?$request->get('id_'.$row):null;
-
- $qItemProgram = $query->tahunProgramDetail()->updateOrCreate(['id'=>$id],$attribute);
-
- }
- }
- if($query){
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'green');
- Session::flash('icons', 'fas fa-clipboard-check');
- Session::flash('alert', 'Berhasil Menyimpan Data!');
- return redirect('pengaturan/aktivasi-program/edit/'.$query->id);
- }else{
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menyimpan Data!');
- return redirect()->back();
- }
- }else{
- Session::flash('info', 'Program Tahun '.$query->value);
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menyimpan Data!');
- return redirect()->back();
- }
- }
- public function delete($id, Request $request){
- $query = $this->table->find($id);
-
- if($query->delete()){
- Session::flash('info', 'Sukses');
- Session::flash('colors', 'green');
- Session::flash('icons', 'fas fa-clipboard-check');
- Session::flash('alert', 'Berhasil Menghapus Data!');
- return redirect()->back();
- }else{
- Session::flash('info', 'Gagal');
- Session::flash('colors', 'red');
- Session::flash('icons', 'fas fa-times');
- Session::flash('alert', 'Gagal Menghapus Data!');
- return redirect()->back();
- }
- }
- }
|