compound = $compound; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ private function searchCompoundAll($jenis,$modul,$status,$start_date,$end_date,$day3, $day7){ $dateS = Carbon::createFromFormat('Y-m-d', $start_date); $start = $dateS->copy()->startOfDay(); if($end_date != ''){ $dateE = Carbon::createFromFormat('Y-m-d', $end_date); $end = $dateE->copy()->endOfDay(); }else{ $end = $dateS->copy()->endOfDay(); } if(!empty($day3)) { $compound = Compound::where('jenis', $jenis)->whereBetween('created_at', array($start->subDays(3), $end->subDays(3))); } else if(!empty($day7)) { $compound = Compound::where('jenis', $jenis)->whereBetween('created_at', array($start->subDays(7), $end->subDays(7))); } else { $compound = Compound::where('jenis', $jenis)->whereBetween('created_at', array($start, $end)); } if($modul == 'All'){ $compound = $compound; }else if($modul == '06-07'){ $compound = $compound->where(function($q){ // $q->where(function($query){ $q->where('modul', '06')->orWhere('modul','07'); // }); }); }else { $compound = $compound->where('modul', $modul); } if($status == 'All'){ $compound = $compound; }else { $compound = $compound->where('status', $status); } return $compound; } private function searchCompoundAllWithoutDate($jenis,$modul,$status,$day3, $day7){ if(!empty($day3)) { $compound = Compound::where('jenis', $jenis)->where('created_at', Carbon::now()->subDays(3)); } else if(!empty($day7)) { $compound = Compound::where('jenis', $jenis)->where('created_at', Carbon::now()->subDays(7)); } else { $compound = Compound::where('jenis', $jenis); } if($modul == 'All'){ $compound = $compound; }else if($modul == '06-07'){ $compound = $compound->where(function($q){ $q->where(function($query){ $query->where('modul', '06')->orWhere('modul','07'); }); }); }else { $compound = $compound->where('modul', $modul); } if($status == 'All'){ $compound = $compound; }else { $compound = $compound->where('status', $status); } return $compound; } private function filterCompoundByEnforcer($enforcer,$jenis,$modul,$status,$start_date,$end_date,$day3, $day7){ if(!empty($start_date)){ $compound = $this->searchCompoundAll($jenis,$modul,$status,$start_date,$end_date,$day3, $day7); }else{ $compound = $this->searchCompoundAllWithoutDate($jenis,$modul,$status,$day3, $day7); } if($enforcer == 'All'){ return $compound; }else { $compound = $compound->where('dikeluarkan', $enforcer); return $compound; } } private function filterCompoundByFaulty($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$day3, $day7){ $compound = $this->filterCompoundByEnforcer($enforcer,$jenis,$modul,$status,$start_date,$end_date,$day3, $day7); if($faulty == 'All'){ return $compound->whereIn('jbkod',$department); }else { $compound = $compound->where('seksyen_kesalahan', $faulty); return $compound; } } private function searchPlateNo($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$day3, $day7){ $compound = $this->filterCompoundByFaulty($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$day3, $day7); if(!empty($plate_no)){ $compound = $compound->where('no_plate',$plate_no); return $compound; }else{ return $compound; } } private function searchKpd($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$day3, $day7){ $compound = $this->searchPlateNo($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$day3, $day7); if(!empty($kpd)){ $compound = $compound->where('kpd',$kpd); return $compound; }else{ $compound = $compound->whereIn('status', ['Belum Bayar', 'Berbayar', 'Batal']); return $compound; } } private function searchCompanyNo($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$day3, $day7){ $compound = $this->searchKpd($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$day3, $day7); if(!empty($company_no)){ $compound = $compound->where('no_daftar_syarikat','LIKE',$company_no); return $compound; }else{ return $compound; } } private function searchNric($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$day3, $day7){ $compound = $this->searchCompanyNo($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$day3, $day7); if(!empty($nric)){ $compound = $compound->where('identity',$nric); return $compound; }else{ return $compound; } } private function searchLesen($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$day3, $day7){ $compound = $this->searchNric($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$day3, $day7); if(!empty($license)){ $compound = $compound->where('no_akaun_lesen', 'exists', true)->where('no_akaun_lesen',$license); return $compound; }else{ return $compound; } } private function searchName($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$namaP,$day3, $day7){ $compound = $this->searchLesen($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$day3, $day7); if(!empty($namaP)){ $compound = $compound->where('nama', 'LIKE', "%{$namaP}%"); return $compound; }else{ return $compound; } } private function searchCompanyName($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$namaP,$company_name,$day3, $day7){ $compound = $this->searchName($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$namaP,$day3, $day7); if(!empty($company_name)){ $compound = $compound->where('nama_syarikat', 'exists', true)->where('nama_syarikat', 'LIKE', '%{$company_name%}'); return $compound; }else{ return $compound; } } public function index(Request $request) { // $per_page = ''; // $kpd = ''; // $modul = '02'; // $status = 'All'; // $jenis = 'Pelbagai_JPB'; // if(!empty($request->department)){ // $department = array ( // 0 => '5df355f891d6e66b9c5e626d', // 1 => '5df721c5cde7fd741433c6b2', // 2 => '5df722a24636f4594f4a3c3d', // 3 => '5f17a31795dbfd3320761bfe', // 4 => '5f3b872fea58cb3c1b0e7b8d', // ); // }else { // $department = []; // } // // $start_date = ''; // // $end_date = ''; // $start_date = '2020-08-29'; // $end_date = '2020-08-29'; // $enforcer = 'All'; // $faulty = 'All'; // $plate_no = strtolower(''); // $company_no = strtolower(''); // $nric = ''; // $license = ''; // $namaP = ''; // $company_name = ''; // $day3 = 3; // $day7 = ''; ///////////////////////////////////////////////////////////////////////////////// $per_page = $request->per_page; $kpd = $request->kpd; $modul = $request->modul; $status = $request->status; $jenis = $request->type; if(!empty($request->department)){ $department = json_decode($request->department); }else { $department = []; } $start_date = $request->start_date; $end_date = $request->end_date; $enforcer = $request->enforcer; $faulty = $request->faulty; $plate_no = strtolower($request->plate_no); $company_no = strtolower($request->company_no); $nric = $request->nric; $license = $request->license; $namaP = $request->nameP; $company_name = $request->company_name; $day3=''; $day7=''; if ($request->has('day3')) { $day3 = $request->day3; //has() checks if param exist and filled } if ($request->has('day7')) { $day3 = $request->day7; //has() checks if param exist and filled } // if (!empty($start_date)) { // } $nested_data = array(); $compound = $this->searchCompanyName($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$namaP,$company_name, $day3, $day7)->orderBy('created_at','ASC')->get(); // info($compound); return \DataTables::of(CompoundResource::collection($compound))->addIndexColumn() ->addColumn('index', function($row) { $curr = Carbon::now(); $dtC = Carbon::parse($row['created_at'])->setTimezone('Asia/Kuala_Lumpur'); if($curr->diffInDays($dtC) <= 3){ $html = 'New'; }else{ $html = ''; } return $html; })->addColumn('status_kemaskini', function($row) { $data = ''; if($row['status'] == 'Berbayar'){ $data = ''.$row['status'].'
Bayaran:
'; $data .= 'RM '.$row['amount_payment'].'
'; $data .= '
Catatan:
'.$row['catatan_dari_admin'].'
'; if($row['updated_by'] !== null ){ $data .= '
Kemaskini:
'; $data .= $row['updated_at'].'
'.$row['updated_by']['no_badan'].'
'; }else { if(!empty($row['tarikh_bayar']) && $row['tarikh_bayar'] != ''){ $data .= '
Kemaskini:
'; $data .= $row['tarikh_bayar'].'
'.$row['updates_by'].'
'; }else { $data .= '
Kemaskini:
'; $data .= $row['updated_at'].'
'.$row['updates_by'].'
'; } } }else if($row['status'] == 'Belum Bayar' && $row['updated_by'] !== null){ $data = ''.$row['status'].''; $data .= '
Catatan:
'.$row['catatan_dari_admin'].'
'; $data .= '
Kemaskini:
'; $data .= $row['updated_at'].'
'.$row['updated_by']['no_badan'].'
'; }else if($row['status'] == 'Batal' && $row['updated_by'] !== null){ $data = ''.$row['status'].''; $data .= '
Catatan:
'.$row['catatan_dari_admin'].'
'; $data .= '
Kemaskini:
'; $data .= $row['updated_at'].'
'.$row['updated_by']['no_badan'].'
'; }else if($row['status'] == 'Buang' && $row['updated_by'] !== null){ $data = ''.$row['status'].''; $data .= '
Catatan:
'.$row['catatan_dari_admin'].'
'; $data .= '
Kemaskini:
'; $data .= $row['updated_at'].'
'.$row['updated_by']['no_badan'].'
'; } else { $data = $row['status']; } return $data; })->addColumn('kesalahan', function($row) { $data = 'Seksyen '.$row['faulty_skter'].'
'.$row['faulty_name']; return $data; })->rawColumns(['index','status_kemaskini','kesalahan'])->make(true); } public function notice_index(Request $request) { $per_page = ''; $kpd = ''; $modul = '02'; $status = 'All'; $jenis = 'Pelbagai_JPB'; $department = array ( 0 => '5df355f891d6e66b9c5e626d', 1 => '5df721c5cde7fd741433c6b2', 2 => '5df722a24636f4594f4a3c3d', 3 => '5f17a31795dbfd3320761bfe', 4 => '5f3b872fea58cb3c1b0e7b8d', ); $start_date = '2020-08-18'; $end_date = '2020-09-20'; $enforcer = 'All'; $faulty = 'All'; $plate_no = strtolower(''); $company_no = strtolower(''); $nric = ''; $license = ''; $namaP = ''; $company_name = ''; ############################################################################################################### // $per_page = $request->per_page; // $kpd = $request->kpd; // $modul = $request->modul; // $status = $request->status; // $jenis = $request->type; // if(!empty($request->department)){ // $department = json_decode($request->department); // }else { // $department = []; // } // $start_date = $request->start_date; // $end_date = $request->end_date; // $enforcer = $request->enforcer; // $faulty = $request->faulty; // $plate_no = strtolower($request->plate_no); // $company_no = strtolower($request->company_no); // $nric = $request->nric; // $license = $request->license; // $namaP = $request->nameP; // $company_name = $request->company_name; $nested_data = array(); $compound = $this->searchCompanyName($enforcer,$faulty,$jenis,$modul,$status,$start_date,$end_date,$department,$plate_no,$kpd,$company_no,$nric,$license,$namaP,$company_name)->orderBy('created_at','ASC')->get(); // return \DataTables::of(CompoundResource::collection($compound))->addIndexColumn() // ->addColumn('index', function($row) { // $curr = Carbon::now(); // $dtC = Carbon::parse($row['created_at'])->setTimezone('Asia/Kuala_Lumpur'); // if($curr->diffInDays($dtC) <= 3){ // $html = 'New'; // }else{ $html = ''; } // return $html; // }); if (!empty($compound)) { foreach ($compound as $key => $c) { $faulty = Faulty::where('_id', $c->seksyen_kesalahan)->first(); $enforcer = StaffDetail::where('_id', $c->dikeluarkan)->first(); array_push($nested_data, array( 'index' => '', 'modul' => $c->modul, 'kpd' => $c->kpd, 'jenis' => $c->jenis, 'masa' => $c->created_at, 'kesalahan' => $faulty->nama, 'nric' => $c->identity, 'nama' => $c->nama, 'penguatkuasa' => $enforcer->full_name, // 'tindakan' => )); } } return \DataTables::of($nested_data)->addIndexcolumn()->make(true); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a created compound from notice. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $staff = Staff::with('StaffDetail')->where('api_token',$request->api_token)->first(); if(empty($staff)){ return $this->sendError('Invalid', 'Staff not existed'); }else { $saved =''; $kpd = ''; $no_siri = ''; $data = array(); if($request->jenis == 'Parkir') { $faulty = Faulty::where('_id',$request->get('seksyen'))->first(); if(!empty($faulty)){ $countKPD = $this->compound->withTrashed()->count(); do { $countKPD = $countKPD + 1; } while (Compound::where("kpd", "=", 'KP'.$countKPD)->first() instanceof Compound); $kpd = $countKPD; $no_siri = date('yn').'-'.$countKPD; $fileData = [ 'no_siri' => $no_siri, ]; //only for compound parkir $compoundData = [ 'jenis' => 'Parkir', 'kpd' => $kpd, 'nama' => '-', 'identity' => '-', 'alamat' => '-', "no_plate" => strtolower($request->no_plate), "no_cukai_jalan" => $request->noCukaijalan, "jenis_kenderaan" => $request->jenisKenderaan, "model_kenderaan" => $request->modelKenderaan, "warna_kenderaan" => $request->warnakenderaan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "no_parking" => $request->noParking, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => '03', "penguatkuasa" => '', "cpn_created" => Carbon::now()->toDateTimeString(), ]; $file = ConfidentialFile::create($fileData); $saved = $file->compound()->create($compoundData); } }elseif(($request->jenis == 'Pelbagai_KT') || ($request->jenis == 'Pelbagai_JPB') || ($request->jenis == 'Pelbagai_PA') || ($request->jenis == 'Pelbagai_LESEN')){ $kpd = $request->kpd; $compound = Compound::where('jenis', $request->jenis)->where('kpd', $kpd)->first(); if (!empty($compound)) { if(!($compound->modul == '03')) { if($request->jenis == 'Pelbagai_KT'){ $compound->jenis = $request->jenis; $compound->nama = $request->namaP; $compound->identity = $request->noIc; $compound->nama_syarikat = $request->namaS; $compound->no_daftar_syarikat = strtolower($request->daftarNo); $compound->alamat = $request->alamat; $compound->no_plate = $request->no_plate; $compound->no_cukai_jalan = $request->no_cukai_jalan; // $compound->nama_kawasan = $request->namaKawasan; // $compound->nama_taman = $request->namaTaman; // $compound->nama_jalan = $request->namaJalan; $compound->catatan = $request->catatan; $compound->latlong = $request->Latlong; // $compound->akta = $faulty->deed_law_id; // $compound->seksyen_kesalahan = $faulty->_id; // $compound->jumlah_asal_kompaun = $faulty->amount; $compound->dikeluarkan_ = $staff->_id; $compound->status = 'Belum Bayar'; $compound->modul = '03'; $compound->no_telefon = $request->tel; $compound->no_akaun_lesen = $request->lesen; $compound->cpn_created = Carbon::now()->toDateTimeString(); }elseif($request->jenis == 'Pelbagai_JPB'){ $compound->jenis = $request->jenis; $compound->nama = $request->namaP; $compound->identity = $request->noIc; $compound->nama_syarikat = $request->namaS; $compound->no_daftar_syarikat = strtolower($request->daftarNo); $compound->alamat = $request->alamat; $compound->no_plate = $request->no_plate; $compound->no_cukai_jalan = $request->no_cukai_jalan; // $compound->nama_kawasan => $request->namaKawasan; // $compound->nama_taman => $request->namaTaman; // $compound->nama_jalan => $request->namaJalan; $compound->catatan = $request->catatan; $compound->latlong = $request->Latlong; // $compound->akta => $faulty->deed_law_id; // $compound->seksyen_kesalahan => $faulty->_id; // $compound->jumlah_asal_kompaun => $faulty->amount; $compound->dikeluarkan_ = $staff->_id; $compound->status = 'Belum Bayar'; $compound->modul = '03'; $compound->no_telefon = $request->tel; $compound->no_akaun_lesen = $request->lesen; $compound->cpn_created = Carbon::now()->toDateTimeString(); }elseif($request->jenis == 'Pelbagai_PA'){ $compound->jenis = $request->jenis; $compound->nama = $request->namaP; $compound->identity = $request->noIc; $compound->nama_syarikat = $request->namaS; $compound->no_daftar_syarikat = strtolower($request->daftarNo); $compound->alamat = $request->alamat; $compound->no_plate = $request->no_plate; $compound->no_cukai_jalan = $request->no_cukai_jalan; // $compound->nama_kawasan = $request->namaKawasan; // $compound->nama_taman = $request->namaTaman; // $compound->nama_jalan = $request->namaJalan; $compound->catatan = $request->catatan; $compound->latlong = $request->Latlong; // $compound->akta = $faulty->deed_law_id; // $compound->seksyen_kesalahan = $faulty->_id; // $compound->jumlah_asal_kompaun = $faulty->amount; $compound->dikeluarkan_ = $staff->_id; $compound->status = 'Belum Bayar'; $compound->modul = '03'; $compound->no_telefon = $request->tel; $compound->no_akaun_lesen = $request->lesen; $compound->bil_haiwan = $request->lesen; $compound->cpn_created = Carbon::now()->toDateTimeString(); }elseif($request->jenis == 'Pelbagai_LESEN'){ $compound->jenis = $request->jenis; $compound->nama = $request->namaP; $compound->identity = $request->noIc; $compound->nama_syarikat = $request->namaS; $compound->no_daftar_syarikat = strtolower($request->daftarNo); $compound->alamat = $request->alamat; $compound->no_plate = $request->no_plate; $compound->no_cukai_jalan = $request->no_cukai_jalan; // $compound->nama_kawasan = $request->namaKawasan; // $compound->nama_taman = $request->namaTaman; // $compound->nama_jalan = $request->namaJalan; $compound->catatan = $request->catatan; $compound->latlong = $request->Latlong; // $compound->akta = $faulty->deed_law_id; // $compound->seksyen_kesalahan = $faulty->_id; // $compound->jumlah_asal_kompaun = $faulty->amount; $compound->dikeluarkan_ = $staff->_id; $compound->status = 'Belum Bayar'; $compound->modul = '03'; $compound->no_telefon = $request->tel; $compound->no_akaun_lesen = $request->lesen; $compound->cpn_created = Carbon::now()->toDateTimeString(); } $saved = $compound->save(); } else { return $this->sendResponse('', 'Kompaun ini telah dikeluarkan!'); } } } if($saved){ // $compound = Compound::with('ConfidentialFile')->where('kpd',$kpd)->first(); // if(!empty($compound)){ dispatch(new UpdateCompoundPrice($kpd)); // $tawaran = ''; // if($compound->jumlah_kemaskini_kompaun != ''){ // $tawaran = $compound->jumlah_kemaskini_kompaun; // }else{ // $tawaran = $compound->jumlah_asal_kompaun; // } $this->dispatch(new StoreCompound($request->all(), $kpd, $staff->_id, $no_siri)); array_push($data, array('kpd' => $kpd)); // $this->dispatch(new StoreCompoundEPBT($request->all(), $kpd, $staff->StaffDetail->full_name, $staff->StaffDetail->no_badan, $faulty->nama)); return $this->sendResponse($data, 'Berjaya simpan rekod kompaun!'); // } } } } /********************************************* | Store a newly created notice *********************************************/ public function storeNotice(Request $request) { $staff = Staff::with('StaffDetail')->where('api_token',$request->api_token)->first(); if(empty($staff)){ return $this->sendError('Invalid', 'Staff not existed'); }else { $faulty = Faulty::where('_id',$request->get('seksyen'))->first(); if(!empty($faulty)){ $data = array(); $countKPD = $this->compound->withTrashed()->count(); do { $countKPD = $countKPD + 1; } while (Compound::where("kpd", "=", 'KP'.$countKPD)->first() instanceof Compound); $kpd = $countKPD; $no_siri = date('yn').'-'.$countKPD; $fileData = [ 'no_siri' => $no_siri, ]; if($request->jenis == 'Parkir'){ $compoundData = [ 'jenis' => 'Parkir', 'kpd' => $kpd, 'nama' => '-', 'identity' => '-', 'alamat' => '-', "no_plate" => strtolower($request->no_plate), "no_cukai_jalan" => $request->noCukaijalan, "jenis_kenderaan" => $request->jenisKenderaan, "model_kenderaan" => $request->modelKenderaan, "warna_kenderaan" => $request->warnakenderaan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "no_parking" => $request->noParking, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "notis_created" => Carbon::now()->toDateTimeString(), ]; }elseif($request->jenis == 'Pelbagai_KT'){ $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "tindakan" => $request->tindakan, "tempoh" => $request->tempoh, "notis_created" => Carbon::now()->toDateTimeString(), ]; }elseif($request->jenis == 'Pelbagai_JPB'){ $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "tindakan" => $request->tindakan, "tempoh" => $request->tempoh, "notis_created" => Carbon::now()->toDateTimeString(), ]; } elseif($request->jenis == 'Pelbagai_LESEN'){ $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "notis_created" => Carbon::now()->toDateTimeString(), ]; } elseif($request->jenis == 'Pelbagai_PA'){ $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "bil_haiwan" => $request->bil_haiwan, "notis_created" => Carbon::now()->toDateTimeString(), ]; } $file = ConfidentialFile::create($fileData); $saved = $file->compound()->create($compoundData); if($saved){ // $compound = Compound::with('ConfidentialFile')->where('kpd',$kpd)->first(); // if(!empty($compound)){ dispatch(new UpdateCompoundPrice($kpd)); // $tawaran = ''; // if($compound->jumlah_kemaskini_kompaun != ''){ // $tawaran = $compound->jumlah_kemaskini_kompaun; // }else{ // $tawaran = $compound->jumlah_asal_kompaun; // } $this->dispatch(new StoreNotice($request->all(), $kpd, $staff->_id, $no_siri)); array_push($data, array('kpd' => $kpd)); return $this->sendResponse($data, 'Berjaya simpan rekod notis!'); // } } } } } /** * Store a newly created compound (parkir, KT, JPB). * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function storeCompound(Request $request) { $staff = Staff::with('StaffDetail')->where('api_token',$request->api_token)->first(); if(empty($staff)){ return $this->sendError('Invalid', 'Staff not existed'); }else { $data = array(); $faulty = Faulty::where('_id',$request->get('seksyen'))->first(); if(!empty($faulty)){ $countKPD = $this->compound->withTrashed()->count(); do { $countKPD = $countKPD + 1; } while (Compound::where("kpd", "=", 'KP'.$countKPD)->first() instanceof Compound); $kpd = $countKPD; $no_siri = date('yn').'-'.$countKPD; $fileData = [ 'no_siri' => $no_siri, ]; if($request->jenis == 'Parkir') { //only for compound parkir $compoundData = [ 'jenis' => 'Parkir', 'kpd' => $kpd, 'nama' => '-', 'identity' => '-', 'alamat' => '-', "no_plate" => strtolower($request->no_plate), "no_cukai_jalan" => $request->noCukaijalan, "jenis_kenderaan" => $request->jenisKenderaan, "model_kenderaan" => $request->modelKenderaan, "warna_kenderaan" => $request->warnakenderaan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "no_parking" => $request->noParking, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => '03', "penguatkuasa" => '', "cpn_created" => Carbon::now()->toDateTimeString(), ]; } if ($request->jenis == 'Pelbagai_KT') { $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "tindakan" => $request->tindakan, "tempoh" => $request->tempoh, "notis_created" => Carbon::now()->toDateTimeString(), ]; } elseif ($request->jenis == 'Pelbagai_JPB') { $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "tindakan" => $request->tindakan, "tempoh" => $request->tempoh, "notis_created" => Carbon::now()->toDateTimeString(), ]; } elseif ($request->jenis == 'Pelbagai_LESEN') { $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "notis_created" => Carbon::now()->toDateTimeString(), ]; } else if($request->jenis == 'Pelbagai_PA'){ $compoundData = [ 'jenis' => $request->jenis, 'kpd' => $kpd, 'nama' => $request->namaP, 'identity' => $request->noIc, 'nama_syarikat' => $request->namaS, 'no_daftar_syarikat' => strtolower($request->daftarNo), 'alamat' => $request->alamat, "no_plate" => $request->no_plate, "no_cukai_jalan" => $request->no_cukai_jalan, "nama_kawasan" => $request->namaKawasan, "nama_taman" => $request->namaTaman, "nama_jalan" => $request->namaJalan, "catatan" => $request->catatan, "lokasi_kejadian" => '-', 'latlong' => $request->Latlong, 'jbkod' => $request->jabatan, 'akta' => $faulty->deed_law_id, 'seksyen_kesalahan' => $faulty->_id, 'jumlah_asal_kompaun' => $faulty->amount, 'jumlah_kemaskini_kompaun' => '', 'dikeluarkan' => $staff->_id, "status" => 'Belum Bayar', "amount_payment" => '', "receipt" => '', "modul" => $request->modul, "penguatkuasa" => '', "no_telefon" => $request->tel, "no_akaun_lesen" => $request->lesen, "maklumat_tambahan" => '-', "bil_haiwan" => $request->bil_haiwan, "notis_created" => Carbon::now()->toDateTimeString(), ]; } $file = ConfidentialFile::create($fileData); $saved = $file->compound()->create($compoundData); } if($saved){ // $compound = Compound::with('ConfidentialFile')->where('kpd',$kpd)->first(); // if(!empty($compound)){ dispatch(new UpdateCompoundPrice($kpd)); // $tawaran = ''; // if($compound->jumlah_kemaskini_kompaun != ''){ // $tawaran = $compound->jumlah_kemaskini_kompaun; // }else{ // $tawaran = $compound->jumlah_asal_kompaun; // } $this->dispatch(new StoreCompound($request->all(), $kpd, $staff->_id, $no_siri)); array_push($data, array('kpd' => $kpd)); // $this->dispatch(new StoreCompoundEPBT($request->all(), $kpd, $staff->StaffDetail->full_name, $staff->StaffDetail->no_badan, $faulty->nama)); return $this->sendResponse($data, 'Berjaya simpan rekod kompaun!'); // } } } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } public function updateStatusPaymentViaDashboard(Request $request) { $compound = $this->compound::with('ConfidentialFile')->find($request->id); $staff = StaffDetail::find($request->current_id); if(!empty($compound) && !empty($staff)){ if($staff->roles_access == "sysadmin" || $staff->roles_access == "Ketua Jabatan"){ if($compound->status != $request->status){ $compound->status = $request->status; $compound->catatan_dari_admin = $request->remark; $compound->amount_payment = $request->amount; $compound->update_by = $request->current_id; $saved = $compound->save(); if($saved){ $gDate = $compound->created_at->format('F Y'); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Status pembayaran kompaun ".$compound->kpd. " telah dikemaskini", 'huraian' => "Status pembayaran kompaun (RM ".$request->amount.") telah dikemaskini melalui 'dashboard' oleh ".$staff->full_name."", ]; $groupByDate = History::where('tarikh_kumpulan', $gDate)->first(); if(!empty($groupByDate)){ $groupByDate->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($groupByDate); }else{ $history = History::create($historyData); $history->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($history); } if($request->status == "Berbayar"){ return $this->sendResponse('', 'Berjaya kemaskini status. Sila rujuk kompaun ini di modul kategori "Kompaun Dijelaskan" '); }else{ return $this->sendResponse('', 'Berjaya kemaskini status. Sila rujuk kompaun ini di modul kategori "Kompaun DiBatalkan" '); } }else{ $response = [ 'success' => false, 'message' => 'Kompaun ini tidak berjaya dikemaskini', ]; return response()->json($response, 200); } }else{ if($request->remark != ''){ $compound->catatan_dari_admin = $request->remark; $compound->update_by = $request->current_id; $compound->save(); $saved = $compound->save(); if($saved){ $gDate = $compound->created_at->format('F Y'); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Catatan ".$compound->kpd. " telah ditambah/dikemaskini", 'huraian' => "Catatan kompaun ini telah dikemaskini melalui 'dashboard' oleh ".$staff->full_name."", ]; $groupByDate = History::where('tarikh_kumpulan', $gDate)->first(); if(!empty($groupByDate)){ $groupByDate->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($groupByDate); }else{ $history = History::create($historyData); $history->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($history); } return $this->sendResponse('', 'Berjaya tambah catatan untuk kompaun ini'); }else{ $response = [ 'success' => false, 'message' => 'Kompaun ini tidak berjaya dikemaskini', ]; return response()->json($response, 200); } }else{ $response = [ 'success' => false, 'message' => 'Tiada kemaskini!', ]; return response()->json($response, 200); } } }else{ if($compound->status != 'Berbayar' && $compound->status != $request->status){ $compound->status = $request->status; $compound->catatan_dari_admin = $request->remark; $compound->amount_payment = $request->amount; $compound->update_by = $request->current_id; $saved = $compound->save(); if($saved){ $gDate = $compound->created_at->format('F Y'); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Status pembayaran kompaun ".$compound->kpd. " telah dikemaskini", 'huraian' => "Status pembayaran kompaun (RM ".$request->amount.") telah dikemaskini melalui 'dashboard' oleh ".$staff->full_name."", ]; $groupByDate = History::where('tarikh_kumpulan', $gDate)->first(); if(!empty($groupByDate)){ $groupByDate->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($groupByDate); }else{ $history = History::create($historyData); $history->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($history); } if($request->status == "Berbayar"){ return $this->sendResponse('', 'Berjaya kemaskini status. Sila rujuk kompaun ini di modul kategori "Kompaun Dijelaskan" '); }else{ return $this->sendResponse('', 'Berjaya kemaskini status. Sila rujuk kompaun ini di modul kategori "Kompaun DiBatalkan" '); } }else{ $response = [ 'success' => false, 'message' => 'Kompaun ini tidak berjaya dikemaskini', ]; return response()->json($response, 200); } }else{ if($request->remark != ''){ $compound->catatan_dari_admin = $request->remark; $compound->update_by = $request->current_id; $compound->save(); $saved = $compound->save(); if($saved){ $gDate = $compound->created_at->format('F Y'); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Catatan ".$compound->kpd. " telah ditambah/dikemaskini", 'huraian' => "Catatan kompaun ini telah dikemaskini melalui 'dashboard' oleh ".$staff->full_name."", ]; $groupByDate = History::where('tarikh_kumpulan', $gDate)->first(); if(!empty($groupByDate)){ $groupByDate->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($groupByDate); }else{ $history = History::create($historyData); $history->subhistory()->create($subHistory); $historySaved = $compound->ConfidentialFile->history()->attach($history); } return $this->sendResponse('', 'Berjaya tambah catatan untuk kompaun ini'); }else{ $response = [ 'success' => false, 'message' => 'Kompaun ini tidak berjaya dikemaskini', ]; return response()->json($response, 200); } }else{ $response = [ 'success' => false, 'message' => 'Tiada kemaskini!', ]; return response()->json($response, 200); } } } }else{ $response = [ 'success' => false, 'message' => 'Kompaun ini tidak dijumpai / staff tidak ditemui', ]; return response()->json($response, 200); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }