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'){
if ($row['modul'] == '02') {
$data = 'Selesai
';
$data .= 'Catatan:
'.$row['catatan_dari_admin'].'
';
}
else{
$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);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function generateCompoundNumber($jenis, $tag)
{
//check if theres no 001, start fresh with 0001
if (empty(Compound::where('jenis', $jenis)->where('kpd', $tag.'0001')->first())) {
$kpd = '0001';
}
else{
//check the lastest compound number stored in dbase filtered by jenis
$compound = Compound::where('jenis', $jenis)->withTrashed()->latest()->first();
//sanitize compound number to return only integer
$kpd = filter_var($compound['kpd'], FILTER_SANITIZE_NUMBER_INT);
//compulsory increment to store new compound number, WHILE number is found, keep looping
do{
(int)$kpd += 1;
//add 0s at the fornt if number is less than 1000
if ((strlen((string) $kpd)) == 1) {
$kpd = '000'.$kpd;
}elseif ((strlen((string)$kpd)) == 2){
$kpd = '00'.$kpd;
}elseif ((strlen((string)$kpd )) == 3) {
$kpd = '0'.$kpd;
}
}while(!empty(Compound::where('jenis', $jenis)->where('kpd', $tag.$kpd)->first()));
}
return $kpd;
}
/**
* 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();
$faulty = Faulty::where('_id',$request->get('seksyen'))->first();
if($request->jenis == 'Parkir')
{
if(!empty($faulty)){
$countKPD = $this->compound->withTrashed()->count();
do {
$countKPD = $countKPD + 1;
} while (!empty(Compound::where("kpd", "=", 'KP'.$countKPD)->first()));
$kpd = 'KP'.$countKPD;
$no_siri = date('yn').'-'.$countKPD;
$fileData = [
'no_siri' => $no_siri,
];
//only for compound parkir
$compoundData = [
'jenis' => 'Parkir',
'kpd' => '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();
info($compound);
if (!empty($compound)) {
$saved = '';
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!');
// }
}
}
else{
return $this->sendResponse('', 'Kompaun ini tidak dijumpai!');
}
}
}
}
/**
*
* 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();
$kpd = '';
$no_siri ='';
// $countKPD = $this->compound->withTrashed()->count(); //for parking numbering
// do {
// $kpd = $kpd + 1;
// } while (Compound::where("kpd", "=", 'KP'.$countKPD)->first() instanceof Compound);
// $kpd = 'KP'.$countKPD;
// $no_siri = date('yn').'-'.$countKPD;
// $fileData = [
// 'no_siri' => $no_siri,
// ];
if($request->jenis == 'Parkir'){
//for compound numbering
$countKPD = $this->compound->withTrashed()->count();
$no_siri = date('yn').'-'.$countKPD.'-0';
$compoundData = [
'jenis' => 'Parkir',
'kpd' => 'KPD'.$countKPD,
'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'){
$kpd = $this->generateCompoundNumber($request->jenis, 'KT');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-1';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'KT'.$kpd,
'non' => 'NKG'.$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'){
$kpd = $this->generateCompoundNumber($request->jenis, 'JPB');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-2';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'JPB'.$kpd,
'non' => 'NMH'.$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'){
$kpd = $this->generateCompoundNumber($request->jenis, 'NHN');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-3';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'NHN'.$kpd,
'non' => 'NHN'.$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'){
$kpd = $this->generateCompoundNumber($request->jenis, 'PA');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-4';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'PA'.$kpd,
'non' => 'PA'.$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(),
];
}
$fileData = [
'no_siri' => $no_siri,
];
$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 storeNewCompound(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)){
$kpd = '';
$no_siri ='';
// $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')
{
//for compound numbering
$countKPD = $this->compound->withTrashed()->count();
$no_siri = date('yn').'-'.$countKPD.'-0';
//only for compound parkir
$compoundData = [
'jenis' => 'Parkir',
'kpd' => 'KPD'.$countKPD,
'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') {
$kpd = $this->generateCompoundNumber($request->jenis, 'KT');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-1';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'KT'.$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" => '-',
"tempoh" => '-',
"cpn_created" => Carbon::now()->toDateTimeString(),
];
}
elseif ($request->jenis == 'Pelbagai_JPB') {
$kpd = $this->generateCompoundNumber($request->jenis, 'JPB');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-2';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'JPB'.$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" => '-',
"tempoh" => '-',
"cpn_created" => Carbon::now()->toDateTimeString(),
];
}
elseif ($request->jenis == 'Pelbagai_LESEN') {
$kpd = $this->generateCompoundNumber($request->jenis, 'HN');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-3';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'NHN'.$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" => '-',
"cpn_created" => Carbon::now()->toDateTimeString(),
];
}
else if($request->jenis == 'Pelbagai_PA'){
$kpd = $this->generateCompoundNumber($request->jenis, 'PA');
$no_siri = date('yn').'-'.filter_var($kpd, FILTER_SANITIZE_NUMBER_INT).'-4';
$compoundData = [
'jenis' => $request->jenis,
'kpd' => 'PA'.$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,
"cpn_created" => Carbon::now()->toDateTimeString(),
];
}
$fileData = [
'no_siri' => $no_siri,
];
$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!');
}
}
return $this->sendResponse('Tidak Berjaya!', 'Kesalahan tidak dijumpai!');
}
}
/**
* 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 updateStatusNoticeViaDashboard(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->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 notis ".$compound->kpd. " telah dikemaskini",
'huraian' => "Status penyelesaian notis 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/Notis Dijelaskan" ');
}else{
return $this->sendResponse('', 'Berjaya kemaskini status. Sila rujuk kompaun ini di modul kategori "Kompaun/Notis DiBatalkan" ');
}
}else{
$response = [
'success' => false, 'message' => 'Notis 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 notis 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 notis ini');
}else{
$response = [
'success' => false, 'message' => 'Notis 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 notis telah dikemaskini",
'huraian' => "Status penyelesaian notis 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 notis ini di modul kategori "Kompaun/Notis Dijelaskan" ');
}else{
return $this->sendResponse('', 'Berjaya kemaskini status. Sila rujuk notis ini di modul kategori "Kompaun/Notis DiBatalkan" ');
}
}else{
$response = [
'success' => false, 'message' => 'Notis 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 notis 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 notis ini');
}else{
$response = [
'success' => false, 'message' => 'Notis 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' => 'Notis ini tidak dijumpai / staff tidak ditemui',
];
return response()->json($response, 200);
}
}
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)
{
//
}
}