first commit
This commit is contained in:
617
app/Http/Controllers/Admin/CetakanPenjajaController.php
Normal file
617
app/Http/Controllers/Admin/CetakanPenjajaController.php
Normal file
@@ -0,0 +1,617 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use PhpOffice\PhpWord\PhpWord;
|
||||
use PhpOffice\PhpWord\IOFactory;
|
||||
use PhpOffice\PhpWord\SimpleType\JcTable;
|
||||
use PhpOffice\PhpWord\SimpleType\Jc;
|
||||
use PhpOffice\PhpWord\Style\Table;
|
||||
use PhpOffice\PhpWord\ComplexType\TblWidth;
|
||||
use PhpOffice\PhpWord\SimpleType\Paper;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Models\BorangUlasanIk;
|
||||
|
||||
class CetakanPenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function cetak_pemeriksaan_lepas(Request $request, $id, $borang_ik_id)
|
||||
{
|
||||
$headText = ['name' => 'Arial', 'size' => 10];
|
||||
|
||||
$borang_ik = BorangUlasanIk::findOrFail($request->borang_ik_id);
|
||||
|
||||
$phpWord = new PhpWord();
|
||||
|
||||
$phpWord->setDefaultFontName('Arial'); // Jenis font
|
||||
$phpWord->setDefaultFontSize(8); // Saiz font kecil
|
||||
|
||||
$phpWord->addTitleStyle(
|
||||
1, // heading level (1 = Heading1)
|
||||
NULL,
|
||||
['alignment' => 'center']
|
||||
);
|
||||
|
||||
$section = $phpWord->addSection([
|
||||
'orientation' => 'portrait',
|
||||
'marginLeft' => 1000,
|
||||
'marginRight' => 1000,
|
||||
'marginTop' => 500,
|
||||
]);
|
||||
|
||||
$footer = $section->addFooter();
|
||||
$footer->addText(
|
||||
'Rujukan Fail : MBIP(L)(PS) '.$borang_ik->lesen_penjaja->no_fail_lesen,
|
||||
['size' => 8, 'italic' => true],
|
||||
['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::START]
|
||||
);
|
||||
|
||||
$table = $section->addTable();
|
||||
|
||||
$table->addRow();
|
||||
$cell1 = $table->addCell(2000);
|
||||
$cell1->addImage(public_path('img/mbip-crown-png45x45.png'), ['width' => 45, 'height' => 45]);
|
||||
|
||||
$cell2 = $table->addCell(6000);
|
||||
$cell2->addText('JABATAN PELESENAN', ['bold' => true, 'size' => 12], ['spaceAfter' => 0]);
|
||||
$cell2->addText('MAJLIS BANDARAYA ISKANDAR PUTERI', ['bold' => true, 'size' => 12]);
|
||||
|
||||
$cell3 = $table->addCell(2000);
|
||||
$cell3->addText(' L02-03 ', ['size' => 8, 'bgColor'=>'CCCCCC'], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
|
||||
$textRun = $section->addTextRun();
|
||||
$textRun->addText(
|
||||
'Ruj. Fail : ',
|
||||
['name' => 'Arial', 'size' => 8]
|
||||
);
|
||||
|
||||
$textRun->addText(
|
||||
'MBIP(L)(PS) '.$borang_ik->lesen_penjaja->no_fail_lesen,
|
||||
['name' => 'Arial', 'size' => 10, 'bold' => true]
|
||||
);
|
||||
|
||||
|
||||
$section->addText('Pegawai Tadbir N41', [], ['spaceAfter'=> 0]);
|
||||
$section->addText('Jabatan Pelesenan');
|
||||
|
||||
$section->addText('LAPORAN PEMERIKSAAN KE ATAS PENJAJA', ['size' => 9, 'bold' => true], ['alignment' => 'center', 'spaceAfter' => 0]);
|
||||
$section->addText('(PERMOHONAN / PEMBAHARUAN / PEMANTAUAN)', ['size' => 9, 'bold' => true], ['alignment' => 'center', 'spaceAfter' => 0]);
|
||||
|
||||
$section->addText(' ' );
|
||||
|
||||
$section->addText('STATUS PENJAJA', ['size' => 9, 'bold' => true, 'underline'=>'single']);
|
||||
$section->addText('[ / ] '.ucwords($borang_ik->lesen_penjaja->jenis_penjaja->jenis), ['size' => 10, 'bold' => true]);
|
||||
$section->addText('1) PERIHAL PENJAJA' );
|
||||
|
||||
$tableStyle = new Table();
|
||||
$tableStyle->setWidth(new TblWidth(10000));
|
||||
|
||||
$tableStyle->setBorderSize(0);
|
||||
$tableStyle->setBorderColor('FFFFFF');
|
||||
$tableStyle->setCellMargin(80);
|
||||
$tableStyle->setAlignment(JcTable::START);
|
||||
|
||||
// cara betul set indent
|
||||
$tableStyle->setIndent(new TblWidth(720)); // 720 twip = 0.5 inch
|
||||
// Create table with 2 columns
|
||||
$table = $section->addTable($tableStyle);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(3000)->addText('a) Nama Pemohon :', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(700)->addText($borang_ik->lesen_penjaja->user->name, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
// Row 2: Lokasi Tempat Berniaga
|
||||
$table->addRow();
|
||||
$table->addCell(3000)->addText('b) Lokasi Tempat Berniaga :', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(7000)->addText($borang_ik->lesen_penjaja->lokasi_penjajaan(), ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(3000)->addText('c) Jenis Jualan :', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(7000)->addText($borang_ik->lesen_penjaja->jenis_jualan->nama, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$section->addLine(['weight' => 1, 'width' => 500, 'height' => 0, 'color' => '000000']);
|
||||
|
||||
$section->addText('Tarikh Pemeriksaan : '.$borang_ik->dt_periksa);
|
||||
|
||||
$section->addText('2) ULASAN' );
|
||||
|
||||
$tableStyle = new Table();
|
||||
$tableStyle->setWidth(new TblWidth(10000));
|
||||
$tableStyle->setBorderSize(0);
|
||||
$tableStyle->setBorderColor('FFFFFF');
|
||||
$tableStyle->setCellMargin(80);
|
||||
$tableStyle->setAlignment(JcTable::START);
|
||||
|
||||
// cara betul set indent
|
||||
$tableStyle->setIndent(new TblWidth(720)); // 720 twip = 0.5 inch
|
||||
// Create table with 3 columns
|
||||
$table = $section->addTable($tableStyle);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('a) Lokasi Tempat Berniaga ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText($borang_ik->kesesuaian_lokasi." [ / ]", ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->kesesuaian_lokasi == 'tidak sesuai'){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('Jika tidak sesuai', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('sebab '.$borang_ik->kesesuaian_lokasi_sebab, ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('b) Perniagaan dijalankan oleh ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText(ucwords($borang_ik->dijalankan_oleh)." [ / ]", ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->dijalankan_oleh == 'orang lain'){
|
||||
$table->addRow();
|
||||
$table->addCell(10000)->addText('Notis memberhentikan perniagaan dikeluarkan.', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('c) Pematuhan syarat ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText($borang_ik->pematuhan_syarat." [ / ]", ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->pematuhan_syarat == 'belum dipatuhi'){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('Jika belum', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('Perkara-perkara yang perlu dipatuhi :- ', [], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->perkara_perlu_dipatuhi != ''){
|
||||
$perlu_patuhi = explode("\n", $borang_ik->perkara_perlu_dipatuhi);
|
||||
$i = 0;
|
||||
|
||||
foreach($perlu_patuhi as $pp){
|
||||
$i++;
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText($i.") ".$pp, [], ['spaceAfter' => 0]);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('d) Pemprosesan makanan di tempat berniaga ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
if(!is_null($borang_ik->pemprosesan_makanan)){
|
||||
$table->addCell(5300)->addText(ucwords($borang_ik->pemprosesan_makanan)." [ / ]", ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
else{
|
||||
$table->addCell(5300)->addText('', ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
if($borang_ik->pemprosesan_makanan == 'ada'){
|
||||
if($borang_ik->pemprosesan_makanan_memasak == '1'){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('[ / ] Memasak makanan', ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
if($borang_ik->pemprosesan_makanan_merebus == '1'){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('[ / ] Merebus makanan', ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
if($borang_ik->pemprosesan_makanan_menggoreng == '1'){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('[ / ] Menggoreng makanan', ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
if($borang_ik->pemprosesan_makanan_lain == '1'){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('[ / ] Lain-lain '.$borang_ik->pemprosesan_makanan_lain_txt, ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
}
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('e) Mendirikan bangunan/payung ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->mendirikan_bangunan == 'tiada'){
|
||||
$txt_bangunan = $borang_ik->mendirikan_bangunan." [ / ] (hanya menggunakan payung/meja sahaja)";
|
||||
}
|
||||
else{
|
||||
$txt_bangunan = $borang_ik->mendirikan_bangunan." [ / ] (keluarkan notis)";
|
||||
}
|
||||
$table->addCell(5300)->addText(ucwords($borang_ik->pemprosesan_makanan), ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('(Jika bukan Penjaja Gerai Statik)', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('', ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('f) Jika berniaga menggunakan kenderaan ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
if((!is_null($borang_ik->jika_guna_kenderaan))&&($borang_ik->jika_guna_kenderaan != 'lain-lain')){
|
||||
$table->addCell(5300)->addText($borang_ik->jika_guna_kenderaan, ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
else{
|
||||
$table->addCell(5300)->addText($borang_ik->jenis_kenderaan_lain, ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
if(!is_null($borang_ik->jika_guna_kenderaan)){
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText(' No. Pendaftaran Kenderaan ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText($borang_ik->no_plate_kenderaan, ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('g) Tarikh mula berniaga ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText($borang_ik->dt_mula_niaga, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText(' Masa berniaga ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('Dari jam : '.$borang_ik->masa_berniaga_mula, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('h) Kebersihan semasa berniaga ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('Kebersihan diri : '.$borang_ik->kebersihan_diri, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4700, ['gridSpan' => 2])->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('Kebersihan makanan : '.$borang_ik->kebersihan_makanan, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4700, ['gridSpan' => 2])->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('Kebersihan kawasan : '.$borang_ik->kebersihan_kawasan, ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4700, ['gridSpan' => 2])->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(5300)->addText('(jika tidak: Keluarkan notis) ', ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(4500)->addText('i) Laporan kebersihan kawasan/tapak selepas berniaga ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(200)->addText(':', [], ['spaceAfter' => 0]);
|
||||
|
||||
if(!is_null($borang_ik->laporan_kebersihan_selepas_niaga)){
|
||||
$table->addCell(5300)->addText('', ['bold' => true], ['spaceAfter' => 0]);
|
||||
|
||||
$text = htmlspecialchars($borang_ik->tiada_halangan_syarat, ENT_QUOTES | ENT_XML1, 'UTF-8');
|
||||
$table->addRow();
|
||||
$table->addCell(10000, ['gridSpan' => 3])->addText($text, ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
else{
|
||||
$table->addCell(5300)->addText('', ['bold' => true], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
|
||||
$table = $section->addTable();
|
||||
$table->addRow();
|
||||
|
||||
$cell1 = $table->addCell(3300);
|
||||
$cell2 = $table->addCell(3300);
|
||||
$cell3 = $table->addCell(3300);
|
||||
|
||||
$baseDir = "dokumens/penjaja/{$borang_ik->lesen_penjaja_id}/ik/";
|
||||
|
||||
$addImg = function ($cell, $filename) use ($baseDir) {
|
||||
$filename = trim((string) $filename);
|
||||
if ($filename === '') return; // skip kalau kosong
|
||||
|
||||
$rel = $baseDir . $filename;
|
||||
|
||||
// penting: exists sahaja tak cukup sebab folder pun exists
|
||||
if (!Storage::exists($rel)) return;
|
||||
|
||||
$full = Storage::path($rel);
|
||||
if (!is_file($full)) return; // elak folder/invalid
|
||||
|
||||
$cell->addImage($full, [
|
||||
'width' => 200,
|
||||
'height' => 140,
|
||||
]);
|
||||
};
|
||||
|
||||
$addImg($cell1, $borang_ik->gambar1);
|
||||
$addImg($cell2, $borang_ik->gambar2);
|
||||
$addImg($cell3, $borang_ik->gambar3);
|
||||
|
||||
|
||||
$section->addLine(['weight' => 1, 'width' => 500, 'height' => 0, 'color' => '000000']);
|
||||
|
||||
$section->addText('3) CADANGAN' );
|
||||
|
||||
$tableStyle = new Table();
|
||||
$tableStyle->setWidth(new TblWidth(10000));
|
||||
$tableStyle->setBorderSize(0);
|
||||
$tableStyle->setBorderColor('FFFFFF');
|
||||
$tableStyle->setCellMargin(80);
|
||||
$tableStyle->setAlignment(JcTable::START);
|
||||
|
||||
// cara betul set indent
|
||||
$tableStyle->setIndent(new TblWidth(720)); // 720 twip = 0.5 inch
|
||||
// Create table with 3 columns
|
||||
$table = $section->addTable($tableStyle);
|
||||
|
||||
if($borang_ik->cadangan == 'tiada halangan'){
|
||||
$table->addRow();
|
||||
$table->addCell(1000)->addText('[ / ] ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(9000, ['gridSpan' => 2])->addText('Tiada halangan dengan syarat :', [], ['spaceAfter' => 0]);
|
||||
|
||||
$text = htmlspecialchars($borang_ik->tiada_halangan_syarat, ENT_QUOTES | ENT_XML1, 'UTF-8');
|
||||
$table->addRow();
|
||||
$table->addCell(10000, ['gridSpan' => 2])->addText($text, [], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->tiada_halangan_notis_dipatuhi == '1'){
|
||||
$table->addRow();
|
||||
$table->addCell(1000)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(9000, ['gridSpan' => 2])->addText('[ / ] Notis yang telah dikeluarkan perlu dipatuhi', [], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
}
|
||||
elseif($borang_ik->cadangan == 'tidak menyokong'){
|
||||
$table->addRow();
|
||||
$table->addCell(1000)->addText('[ / ] ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(9000, ['gridSpan' => 2])->addText('Tidak menyokong atas sebab :', [], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(10000, ['gridSpan' => 2])->addText($borang_ik->tidak_menyokong_atas_sebab, [], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->dirujuk_unit_penguatkuasa == '1'){
|
||||
$table->addRow();
|
||||
$table->addCell(1000)->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(9000, ['gridSpan' => 2])->addText('[ / ] Dirujuk Unit Penguatkuasa untuk tindakan : ', [], ['spaceAfter' => 0]);
|
||||
|
||||
$table->addRow();
|
||||
$table->addCell(2000, ['gridSpan' => 2])->addText('', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(8000)->addText($borang_ik->dirujuk_unit_penguatkuasa_txt, [], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
}
|
||||
elseif($borang_ik->cadangan == 'permohonan / lesen dibatalkan kerana tamat perniagaan'){
|
||||
$table->addRow();
|
||||
$table->addCell(1000)->addText('[ / ] ', [], ['spaceAfter' => 0]);
|
||||
$table->addCell(9000, ['gridSpan' => 2])->addText('Permohonan / Lesen dibatalkan kerana tamat perniagaan', [], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
|
||||
$section->addText('');
|
||||
$section->addText('Dirujuk ulasan dan cadangan untuk tindakan tuan selanjutnya.' );
|
||||
$section->addText('Sekian, dimaklumkan. Terima kasih.' );
|
||||
|
||||
|
||||
$section->addText('');
|
||||
$section->addText('');
|
||||
$section->addText("(".$borang_ik->pegawai->name.")");
|
||||
$section->addText("Penolong Pegawai Kesihatan Persekitaran U5");
|
||||
$section->addText("Jabatan Pelesenan");
|
||||
$section->addText("Majlis Bandaraya Iskandar Puteri");
|
||||
|
||||
|
||||
$filename = 'laporan_tapak-' . $borang_ik->id . '.docx';
|
||||
$path = storage_path('app/public/' . $filename);
|
||||
|
||||
$writer = IOFactory::createWriter($phpWord, 'Word2007');
|
||||
$writer->save($path);
|
||||
|
||||
|
||||
return response()->download($path)->deleteFileAfterSend(true);
|
||||
}
|
||||
|
||||
|
||||
public function cetak_cadangan_pegawai(Request $request, $id, $borang_ik_id)
|
||||
{
|
||||
$headText = ['name' => 'Arial', 'size' => 10];
|
||||
|
||||
$borang_ik = BorangUlasanIk::findOrFail($request->borang_ik_id);
|
||||
|
||||
$phpWord = new PhpWord();
|
||||
|
||||
$phpWord->setDefaultFontName('Arial'); // Jenis font
|
||||
$phpWord->setDefaultFontSize(8); // Saiz font kecil
|
||||
|
||||
$phpWord->addTitleStyle(
|
||||
1, // heading level (1 = Heading1)
|
||||
NULL,
|
||||
['alignment' => 'center']
|
||||
);
|
||||
|
||||
$section = $phpWord->addSection([
|
||||
'orientation' => 'portrait',
|
||||
'marginLeft' => 1000,
|
||||
'marginRight' => 1000,
|
||||
'marginTop' => 500,
|
||||
]);
|
||||
|
||||
$footer = $section->addFooter();
|
||||
$footer->addText(
|
||||
'Rujukan Fail : MBIP(L)(PS) '.$borang_ik->lesen_penjaja->no_fail_lesen,
|
||||
['size' => 8, 'italic' => true],
|
||||
['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::START]
|
||||
);
|
||||
|
||||
$table = $section->addTable();
|
||||
|
||||
$table->addRow();
|
||||
$cell1 = $table->addCell(2000);
|
||||
$cell1->addImage(public_path('img/mbip-crown-png45x45.png'), ['width' => 45, 'height' => 45]);
|
||||
|
||||
$cell2 = $table->addCell(6000);
|
||||
$cell2->addText('JABATAN PELESENAN', ['bold' => true, 'size' => 12], ['spaceAfter' => 0]);
|
||||
$cell2->addText('MAJLIS BANDARAYA ISKANDAR PUTERI', ['bold' => true, 'size' => 12]);
|
||||
|
||||
$cell3 = $table->addCell(2000);
|
||||
$cell3->addText(" L02-07 \n(PIN-7)", ['size' => 8, 'bgColor'=>'CCCCCC'], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
|
||||
$tableStyle = new Table();
|
||||
$tableStyle->setWidth(new TblWidth(10000));
|
||||
$tableStyle->setBorderSize(0);
|
||||
$tableStyle->setBorderColor('FFFFFF');
|
||||
$tableStyle->setCellMargin(80);
|
||||
$tableStyle->setAlignment(JcTable::START);
|
||||
|
||||
// Create table with 3 columns
|
||||
$table = $section->addTable($tableStyle);
|
||||
|
||||
$row = $table->addRow();
|
||||
|
||||
$cell = $table->addCell(7000);
|
||||
$textRun = $cell->addTextRun();
|
||||
$textRun->addText(
|
||||
'Ruj. Fail : ',
|
||||
['name' => 'Arial', 'size' => 8]
|
||||
);
|
||||
|
||||
$textRun->addText(
|
||||
'MBIP(L)(PS) '.$borang_ik->lesen_penjaja->no_fail_lesen,
|
||||
['name' => 'Arial', 'size' => 10, 'bold' => true]
|
||||
);
|
||||
|
||||
$cell = $table->addCell(3000);
|
||||
$textRun = $cell->addTextRun();
|
||||
|
||||
$textRun->addText('Tarikh : ', [], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
$textRun->addText($borang_ik->ulasanPegawai->dt_pegawai_ulas, ['bold' => true], ['alignment' => 'right', 'spaceAfter' => 0]);
|
||||
|
||||
|
||||
$section->addText('Pengarah Pelesenan', ['name' => 'Arial', 'size' => 7], ['spaceAfter'=> 0]);
|
||||
$section->addText('Jabatan Pelesenan', ['name' => 'Arial', 'size' => 7], ['spaceAfter'=> 1]);
|
||||
$section->addText(' ' );
|
||||
|
||||
$section->addText('SEMAKAN LAPORAN DAN CADANGAN KE ATAS PERMOHONAN LESEN PENJAJA /GERAI / ARKED /PASAR', ['size' => 9, 'bold' => true], ['alignment' => 'left', 'spaceAfter' => 1]);
|
||||
|
||||
|
||||
if($borang_ik->ulasanPegawai->pegawai_cadangan == 'tiada halangan'){
|
||||
$textRun = $section->addTextRun();
|
||||
$textRun->addText('[ / ] ');
|
||||
$textRun->addText(ucwords($borang_ik->ulasanPegawai->pegawai_cadangan), ['bold' => true]);
|
||||
$textRun->addText(' dengan syarat : ');
|
||||
$textRun->addText($borang_ik->ulasanPegawai->pegawai_syarat);
|
||||
|
||||
if($borang_ik->ulasanPegawai->pegawai_notis_perlu_dipatuhi){
|
||||
$section->addText('[ / ] Notis yang telah dikeluarkan perlu dipatuhi');
|
||||
}
|
||||
}
|
||||
elseif($borang_ik->ulasanPegawai->pegawai_cadangan == 'tidak menyokong'){
|
||||
|
||||
$textRun = $section->addTextRun();
|
||||
$textRun->addText('[ / ] ');
|
||||
$textRun->addText(ucwords($borang_ik->ulasanPegawai->pegawai_cadangan), ['bold' => true]);
|
||||
$textRun->addText(' atas sebab : ');
|
||||
$textRun->addText($borang_ik->ulasanPegawai->pegawai_tidak_menyokong_sebab);
|
||||
|
||||
if($borang_ik->ulasanPegawai->pegawai_dirujuk_unit_penguatkuasa){
|
||||
$textRun = $section->addTextRun();
|
||||
$textRun->addText('[ / ] Dirujuk untuk ');
|
||||
$textRun->addText(' tindakan Unit Penguatkuasaan', ['bold' => true]);
|
||||
}
|
||||
}
|
||||
elseif($borang_ik->ulasanPegawai->pegawai_cadangan == 'ditangguhkan untuk tindakan/siasatan semula'){
|
||||
$textRun = $section->addTextRun();
|
||||
$textRun->addText('[ / ] Permohonan ini ');
|
||||
$textRun->addText(ucwords($borang_ik->ulasanPegawai->pegawai_cadangan), ['bold' => true]);
|
||||
}
|
||||
|
||||
if($borang_ik->ulasanPegawai->pegawai_catatan != ''){
|
||||
$section->addText('');
|
||||
$section->addText('Catitan: ');
|
||||
$section->addText($borang_ik->ulasanPegawai->pegawai_catatan);
|
||||
}
|
||||
|
||||
$section->addText('Sekian dimaklumkan, terima kasih.');
|
||||
$section->addText(' ');
|
||||
$section->addText(' ');
|
||||
|
||||
$section->addText("(".strtoupper($borang_ik->ulasanPegawai->pegawai->name).")", ['bold'=>true]);
|
||||
$section->addText('Penolong Pengarah Pelesenan');
|
||||
$section->addText('Majlis Bandaraya Iskandar Puteri');
|
||||
|
||||
$section->addLine(['weight' => 1, 'width' => 500, 'height' => 0, 'color' => '000000']);
|
||||
|
||||
$section->addText('Tarikh : '.$borang_ik->ulasanPegawai->dt_pengarah_ulas, [], ['alignment' => 'right']);
|
||||
|
||||
|
||||
$section->addText('Tuan Setiausaha', ['name' => 'Arial', 'size' => 7], ['spaceAfter'=> 0]);
|
||||
$section->addText('Majlis Bandaraya Iskandar Puteri', ['name' => 'Arial', 'size' => 7], ['spaceAfter'=> 0]);
|
||||
|
||||
$section->addText('');
|
||||
$section->addText('ULASAN KE ATAS CADANGAN PERMOHONAN LESEN PENJAJA / GERAI / ARKED / PASAR', ['size' => 9, 'bold' => true], ['alignment' => 'left']);
|
||||
|
||||
$section->addText('Hasil dari semakan dan cadangan ke atas laporan Pegawai Pemeriksa, saya mencadangkan bahawa permohonan ini : ');
|
||||
$section->addText('[ / ] Dibawa ke Mesyuarat Jawatankuasa Kesihatan dan Lesen untuk : ');
|
||||
|
||||
$tableStyle = new Table();
|
||||
$tableStyle->setWidth(new TblWidth(10000));
|
||||
$tableStyle->setBorderSize(0);
|
||||
$tableStyle->setBorderColor('FFFFFF');
|
||||
$tableStyle->setCellMargin(80);
|
||||
$tableStyle->setAlignment(JcTable::START);
|
||||
|
||||
// cara betul set indent
|
||||
$tableStyle->setIndent(new TblWidth(720)); // 720 twip = 0.5 inch
|
||||
// Create table with 3 columns
|
||||
$table = $section->addTable($tableStyle);
|
||||
|
||||
if($borang_ik->ulasanPegawai->pengarah_ulasan == 'dipertimbangkan'){
|
||||
$row = $table->addRow();
|
||||
$table->addCell(2500)->addText('[ / ] Dipertimbangkan ', ['bold' => true], ['spaceAfter' => 0]);
|
||||
$table->addCell(7500)->addText(' / diperakukan kelulusan lesen dengan bersyarat.', [], ['spaceAfter' => 0]);
|
||||
}
|
||||
elseif($borang_ik->ulasanPegawai->pengarah_ulasan == 'ditolak'){
|
||||
$row = $table->addRow();
|
||||
$table->addCell(2500)->addText('[ / ] Ditolak ', ['bold' => true], ['spaceAfter' => 0]);
|
||||
$table->addCell(7500)->addText(' kerana ', [], ['spaceAfter' => 0]);
|
||||
|
||||
if($borang_ik->ulasanPegawai->pengarah_ditolak_sebab == 'pemohon gagal mematuhi syarat'){
|
||||
$row = $table->addRow();
|
||||
$table->addCell(2500)->addText('', ['bold' => true], ['spaceAfter' => 0]);
|
||||
$table->addCell(7500)->addText(' [ / ] pemohon gagal mematuhi syarat.', [], ['spaceAfter' => 0]);
|
||||
}
|
||||
elseif($borang_ik->ulasanPegawai->pengarah_ditolak_sebab == 'perniagaan dijalankan bukan seperti dipohon'){
|
||||
$row = $table->addRow();
|
||||
$table->addCell(2500)->addText('', ['bold' => true], ['spaceAfter' => 0]);
|
||||
$table->addCell(7500)->addText(' [ / ] perniagaan dijalankan bukan seperti dipohon.', [], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
}
|
||||
elseif($borang_ik->ulasanPegawai->pengarah_ulasan == 'ditangguhkan'){
|
||||
$row = $table->addRow();
|
||||
$table->addCell(2500)->addText('[ / ] Ditangguhkan ', ['bold' => true], ['spaceAfter' => 0]);
|
||||
$table->addCell(7500)->addText(' sehingga pihak pemohon mematuhi syarat.', [], ['spaceAfter' => 0]);
|
||||
}
|
||||
|
||||
if($borang_ik->ulasanPegawai->pengarah_catatan != ''){
|
||||
$section->addText('');
|
||||
$section->addText('Catitan: ');
|
||||
$section->addText($borang_ik->ulasanPegawai->pengarah_catatan);
|
||||
}
|
||||
|
||||
$section->addText('');
|
||||
$section->addText('Sekian, dimaklumkan. Terima kasih.' );
|
||||
|
||||
|
||||
$section->addText('');
|
||||
$section->addText('');
|
||||
$section->addText("(".$borang_ik->ulasanPegawai->pengarah->name.")", ['bold' => true]);
|
||||
$section->addText("Pengarah Pelesenan");
|
||||
$section->addText("Majlis Bandaraya Iskandar Puteri");
|
||||
|
||||
|
||||
$filename = 'ulasan_pegawai-' . $borang_ik->id . '.docx';
|
||||
$path = storage_path('app/public/' . $filename);
|
||||
|
||||
$writer = IOFactory::createWriter($phpWord, 'Word2007');
|
||||
$writer->save($path);
|
||||
|
||||
|
||||
return response()->download($path)->deleteFileAfterSend(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
161
app/Http/Controllers/Admin/DashboardController.php
Normal file
161
app/Http/Controllers/Admin/DashboardController.php
Normal file
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use App\Models\GrabResitLesen;
|
||||
use Auth;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
//
|
||||
public function utama(Request $request, $ctahun=''){
|
||||
if($ctahun == ''){
|
||||
$ctahun = date('Y');
|
||||
}
|
||||
|
||||
$permohonans = LesenPenjaja::whereYear('tarikhmohon', $ctahun)->get();
|
||||
|
||||
$countKPI = LesenPenjaja::whereYear('tarikhlulus', $ctahun)
|
||||
->whereRaw('DATEDIFF(tarikhlulus, tarikhmohon) > 14')
|
||||
->count();
|
||||
|
||||
//dapatkan status bayaran untuk update mana yg tgu wang proses
|
||||
$semakresits = LesenPenjaja::where('status_progress', 'LIKE', 'menunggu bayaran proses')->get();
|
||||
|
||||
foreach($semakresits as $semakresit){
|
||||
$bil_p = BilPelbagai::where('jenis_bil', 'wang proses')->where('lesen_penjaja_id', $semakresit->id)->first();
|
||||
// dd($semakresit,$bil_p);
|
||||
if(!is_null(optional($bil_p)->no_akaun_bilpelbagai)){
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($bil_p){
|
||||
$query->where('noakaun', $bil_p->no_akaun_bilpelbagai);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$bil_p->dt_bayar = $bp_bayar->tarikh;
|
||||
$bil_p->no_resit = $bp_bayar->noresit;
|
||||
$bil_p->amaun_bayar = $bp_bayar->amaun;
|
||||
$bil_p->save();
|
||||
|
||||
$semakresit->status_progress = 'semakan bayaran proses';
|
||||
$semakresit->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
//end update status wang proses
|
||||
|
||||
$txt_bayar = '';
|
||||
//senarai permohonan baru
|
||||
$baru = LesenPenjaja::where('status_progress', 'baru')->count();
|
||||
//senarai belum bayar wang proses
|
||||
$belum_bayar_proses = LesenPenjaja::where('status_progress', 'menunggu bayaran proses')->count();
|
||||
//senarai dah bayar wang proses
|
||||
$bayar_proses = LesenPenjaja::where('status_progress', 'semakan bayaran proses')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$periksa_tapak = LesenPenjaja::where('status_progress', 'LIKE', 'lawatan tapak')->count();
|
||||
//senarai tiada lesen
|
||||
$tiada_lesen = LesenPenjaja::whereIn('status_progress', ['ulasan pegawai', 'ulasan pengarah', 'sokong dibawa ke mesyuarat'])->whereNull('no_akaun_lesen')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$pegawai_belum_ulas = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pegawai')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$pengarah_belum_ulas = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pengarah')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$bawa_mesyuarat = LesenPenjaja::where('status_progress', 'LIKE', 'sokong dibawa ke mesyuarat')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$keputusan_mesyuarat = LesenPenjaja::where('status_progress', 'LIKE', 'menunggu keputusan mesyuarat')->count();
|
||||
//dapatkan yang belum bayar lesen
|
||||
$hutang_lesen = LesenPenjaja::whereNotNull('no_akaun_lesen')->where('no_akaun_lesen', '<>', '')->whereNull('lesen_no_resit')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$selesai = LesenPenjaja::where('status_progress', 'LIKE', 'keputusan diperolehi')->whereNotNull('status_mesyuarat')->count();
|
||||
|
||||
return view('admin.penjaja.dashboard', compact('ctahun', 'permohonans', 'countKPI', 'baru', 'belum_bayar_proses', 'bayar_proses', 'periksa_tapak', 'pegawai_belum_ulas', 'pengarah_belum_ulas', 'bawa_mesyuarat', 'keputusan_mesyuarat', 'hutang_lesen', 'selesai', 'tiada_lesen'));
|
||||
|
||||
}
|
||||
|
||||
public function carianutama(Request $request){
|
||||
if($request->input('ctahun') == ''){
|
||||
$ctahun = date('Y');
|
||||
}
|
||||
else{
|
||||
$ctahun = $request->input('ctahun');
|
||||
}
|
||||
|
||||
$permohonans = LesenPenjaja::whereYear('tarikhmohon', $ctahun)->get();
|
||||
|
||||
$countKPI = LesenPenjaja::whereYear('tarikhlulus', $ctahun)
|
||||
->whereRaw('DATEDIFF(tarikhlulus, tarikhmohon) > 14')
|
||||
->count();
|
||||
|
||||
|
||||
|
||||
return view('admin.penjaja.dashboard', compact('ctahun', 'permohonans', 'countKPI'));
|
||||
|
||||
}
|
||||
|
||||
public function senaraiLesenBelumBayar(Request $request){
|
||||
|
||||
$senarais = LesenPenjaja::whereNotNull('no_akaun_lesen')->where('no_akaun_lesen', '<>', '')->whereNull('lesen_no_resit')->get();
|
||||
|
||||
|
||||
return view('admin.penjaja.senarailesenbelumbayar', compact('senarais'));
|
||||
|
||||
}
|
||||
|
||||
public function semakBayaranLesen(Request $request){
|
||||
|
||||
|
||||
try {
|
||||
DB::connection('second_mysql')->getPdo();
|
||||
|
||||
$grab = GrabResitLesen::create([
|
||||
'tarikh_grab' => now(),
|
||||
'jumlah_data' => 0,
|
||||
'admin_id' => Auth::id(),
|
||||
]);
|
||||
|
||||
$jumlah = 0;
|
||||
|
||||
$permohonans = LesenPenjaja::whereNotNull('no_akaun_lesen')->where('no_akaun_lesen', '<>', '')->whereNull('lesen_no_resit')->get();
|
||||
foreach($permohonans as $semakresit){
|
||||
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($semakresit){
|
||||
$query->where('noakaun', $semakresit->no_akaun_lesen);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$semakresit->lesen_dt_bayar = $bp_bayar->tarikh;
|
||||
$semakresit->lesen_no_resit = $bp_bayar->noresit;
|
||||
$semakresit->lesen_amaun = $bp_bayar->amaun;
|
||||
$semakresit->lesen_grab = now();
|
||||
|
||||
$semakresit->save();
|
||||
|
||||
$jumlah++;
|
||||
}
|
||||
}
|
||||
|
||||
$grab->jumlah_data = $jumlah;
|
||||
$grab->save();
|
||||
|
||||
} catch (\Exception $e) {
|
||||
//return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.');
|
||||
}
|
||||
|
||||
|
||||
return redirect()->route('pt.lesenhutang')->with('success', 'Sebanyak '.$jumlah.' lesen telah menerima bayaran.');;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
61
app/Http/Controllers/Admin/GambarCarouselController.php
Normal file
61
app/Http/Controllers/Admin/GambarCarouselController.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
// 3. Controller: GambarCarouselController.php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\GambarCarousel;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Str;
|
||||
use Auth;
|
||||
|
||||
class GambarCarouselController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$carousels = GambarCarousel::latest()->get();
|
||||
return view('admin.carousel.index', compact('carousels'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.carousel.create');
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'tajuk' => 'required|string|max:255',
|
||||
'keterangan' => 'nullable|string|max:180',
|
||||
'fail' => 'required|image|mimes:jpg,jpeg,png,webp|max:2048',
|
||||
'tarikh_mula' => 'required|date',
|
||||
'tarikh_tamat' => 'required|date|after_or_equal:tarikh_mula',
|
||||
]);
|
||||
|
||||
$fail = $request->file('fail');
|
||||
$namaFail = Str::slug(pathinfo($fail->getClientOriginalName(), PATHINFO_FILENAME)) . '-' . time() . '.' . $fail->getClientOriginalExtension();
|
||||
$path = $fail->storeAs('caro', $namaFail, 'public');
|
||||
|
||||
GambarCarousel::create([
|
||||
'tajuk' => $request->tajuk,
|
||||
'keterangan' => $request->keterangan,
|
||||
'fail_nama' => $namaFail,
|
||||
'fail_path' => $path,
|
||||
'tarikh_upload' => now(),
|
||||
'tarikh_mula' => $request->tarikh_mula,
|
||||
'tarikh_tamat' => $request->tarikh_tamat,
|
||||
'admin_id' => Auth::id(),
|
||||
]);
|
||||
|
||||
return redirect()->route('carousel.index')->with('success', 'Imej carousel berjaya dimuat naik.');
|
||||
}
|
||||
|
||||
public function destroy($id)
|
||||
{
|
||||
$carousel = GambarCarousel::findOrFail($id);
|
||||
Storage::disk('public')->delete($carousel->fail_path);
|
||||
$carousel->delete();
|
||||
return back()->with('success', 'Imej dipadam.');
|
||||
}
|
||||
}
|
||||
184
app/Http/Controllers/Admin/IkPenjajaController.php
Normal file
184
app/Http/Controllers/Admin/IkPenjajaController.php
Normal file
@@ -0,0 +1,184 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Models\User;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BorangUlasanIk;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
|
||||
class IkPenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function senarai_ik(Request $request){
|
||||
|
||||
//dapatkan status bayaran
|
||||
$senarais = LesenPenjaja::where('status_progress', 'LIKE', 'lawatan tapak')->get();
|
||||
|
||||
return view('admin.penjaja.senaraipemeriksaan', compact('senarais'));
|
||||
}
|
||||
|
||||
public function papar_pemeriksaan(Request $request, $id){
|
||||
|
||||
$show = 'ulasan ik';
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
$status_progress = $permohonan->status_progress;
|
||||
|
||||
$borangulas = $permohonan->pemeriksaanTerkini;
|
||||
|
||||
$iks = null;
|
||||
if(auth()->user()->role == 'super'){
|
||||
$iks = User::where('role', 'pp kesihatan')->get();
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'mohon_id', 'status_progress', 'borangulas', 'iks'));
|
||||
}
|
||||
|
||||
public function papar_pemeriksaan_lepas(Request $request, $id, $borang_ik_id){
|
||||
|
||||
$show = 'ulasan ik';
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
$status_progress = $permohonan->status_progress;
|
||||
|
||||
$borangulas = BorangUlasanIk::find($borang_ik_id);
|
||||
|
||||
$iks = null;
|
||||
if(auth()->user()->role == 'super'){
|
||||
$iks = User::where('role', 'pp kesihatan')->get();
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'mohon_id', 'status_progress','borangulas', 'iks'));
|
||||
}
|
||||
|
||||
public function simpanLokasi(Request $request){
|
||||
|
||||
$permohonan = LesenPenjaja::find($request->permohonan_id);
|
||||
$permohonan->longitude = $request->input('longitude');
|
||||
$permohonan->latitude = $request->input('latitude');
|
||||
|
||||
$permohonan->save();
|
||||
|
||||
return redirect(route('ik.papar-pemeriksaan-map', ['id'=>$request->permohonan_id]));
|
||||
}
|
||||
|
||||
public function simpanUlasan(Request $request){
|
||||
if(isset($request->borang_ik_id)){
|
||||
$permohonan = BorangUlasanIk::firstOrCreate([
|
||||
'id' => $request->borang_ik_id,
|
||||
'lesen_penjaja_id' => $request->permohonan_id,
|
||||
]);
|
||||
}
|
||||
else{
|
||||
$permohonan = new BorangUlasanIk;
|
||||
$permohonan->lesen_penjaja_id = $request->permohonan_id;
|
||||
}
|
||||
|
||||
$permohonan->dt_periksa = $request->input('dt_periksa');
|
||||
$permohonan->kesesuaian_lokasi = $request->input('kesesuaian_lokasi');
|
||||
$permohonan->kesesuaian_lokasi_sebab = $request->input('kesesuaian_lokasi_sebab');
|
||||
$permohonan->dijalankan_oleh = $request->input('dijalankan_oleh');
|
||||
$permohonan->pematuhan_syarat = $request->input('pematuhan_syarat');
|
||||
$permohonan->perkara_perlu_dipatuhi = $request->input('perkara_perlu_dipatuhi');
|
||||
|
||||
$permohonan->pemprosesan_makanan = $request->input('pemprosesan_makanan');
|
||||
if($permohonan->pemprosesan_makanan == 'ada'){
|
||||
$permohonan->pemprosesan_makanan_memasak = $request->has('pemprosesan_makanan_memasak') ? $request->input('pemprosesan_makanan_memasak') : null;
|
||||
$permohonan->pemprosesan_makanan_merebus = $request->has('pemprosesan_makanan_merebus') ? $request->input('pemprosesan_makanan_merebus') : null;
|
||||
$permohonan->pemprosesan_makanan_menggoreng = $request->has('pemprosesan_makanan_menggoreng') ? $request->input('pemprosesan_makanan_menggoreng') : null;
|
||||
$permohonan->pemprosesan_makanan_lain = $request->has('pemprosesan_makanan_lain') ? $request->input('pemprosesan_makanan_lain') : null;
|
||||
if($permohonan->pemprosesan_makanan_lain == '1'){
|
||||
$permohonan->pemprosesan_makanan_lain_txt = $request->input('pemprosesan_makanan_lain_txt');
|
||||
}
|
||||
else{
|
||||
$permohonan->pemprosesan_makanan_lain_txt = '';
|
||||
}
|
||||
}
|
||||
|
||||
$permohonan->mendirikan_bangunan = $request->input('mendirikan_bangunan');
|
||||
$permohonan->jika_guna_kenderaan = $request->input('jika_guna_kenderaan');
|
||||
$permohonan->jenis_kenderaan_lain = $request->input('jenis_kenderaan_lain');
|
||||
$permohonan->no_plate_kenderaan = $request->input('no_plate_kenderaan');
|
||||
$permohonan->dt_mula_niaga = $request->input('dt_mula_niaga');
|
||||
$permohonan->masa_berniaga_mula = $request->input('masa_berniaga_mula');
|
||||
|
||||
$permohonan->kebersihan_diri = $request->input('kebersihan_diri');
|
||||
$permohonan->kebersihan_makanan = $request->input('kebersihan_makanan');
|
||||
$permohonan->kebersihan_kawasan = $request->input('kebersihan_kawasan');
|
||||
$permohonan->laporan_kebersihan_selepas_niaga = $request->input('laporan_kebersihan_selepas_niaga');
|
||||
|
||||
$permohonan->cadangan = $request->input('cadangan');
|
||||
$permohonan->tiada_halangan_syarat = $request->input('tiada_halangan_syarat');
|
||||
$permohonan->tiada_halangan_notis_dipatuhi = $request->has('tiada_halangan_notis_dipatuhi') ? $request->input('tiada_halangan_notis_dipatuhi') : null;
|
||||
$permohonan->tidak_menyokong_atas_sebab = $request->input('tidak_menyokong_atas_sebab');
|
||||
$permohonan->dirujuk_unit_penguatkuasa = $request->has('dirujuk_unit_penguatkuasa') ? $request->input('dirujuk_unit_penguatkuasa') : null;
|
||||
$permohonan->dirujuk_unit_penguatkuasa_txt = $request->input('dirujuk_unit_penguatkuasa_txt');
|
||||
|
||||
if(auth()->user()->role == 'super'){
|
||||
$ik = User::find($request->ik_id);
|
||||
|
||||
}
|
||||
else{
|
||||
$ik = $request->user();
|
||||
}
|
||||
|
||||
$permohonan->pegawai_id = $ik->id;
|
||||
|
||||
$permohonan->save();
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'ulasan pegawai';
|
||||
$mohon->save();
|
||||
|
||||
|
||||
|
||||
$folder = 'dokumens/penjaja/'.$mohon->id.'/ik/';
|
||||
|
||||
for($i = 1; $i <= 3; $i++){
|
||||
if ($request->hasFile('gambar'.$i)) { //ada upload?
|
||||
$nama_field = 'gambar'.$i;
|
||||
$nama_field_ext = 'gambar'.$i."_ext";
|
||||
$validated = $request->validate([
|
||||
$nama_field => 'file|mimes:jpg,png',
|
||||
]);
|
||||
|
||||
// Store the file
|
||||
$path = $request->file($nama_field);
|
||||
$extension = $path->extension(); // Determine the file's extension based on the file's MIME type...
|
||||
|
||||
$name = 'lokasi'.$i.".".$extension;
|
||||
|
||||
$path->storeAs($folder, $name);
|
||||
|
||||
$permohonan->$nama_field = $name;
|
||||
$permohonan->$nama_field_ext = $extension;
|
||||
$permohonan->save();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return redirect(route('admin.papar-pemeriksaan', ['id'=>$request->permohonan_id]))->with('success', 'Borang pemeriksaan tapak telah disimpan.');
|
||||
}
|
||||
|
||||
|
||||
public function stream($id, $filename)
|
||||
{
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
Gate::authorize('keje-staff', $permohonan);
|
||||
|
||||
$path = 'dokumens/penjaja/'.$id.'/ik/'.$filename;
|
||||
if (!Storage::exists($path)) return null;
|
||||
return response()->file(storage_path('app/' . $path));
|
||||
}
|
||||
|
||||
}
|
||||
23
app/Http/Controllers/Admin/LaporanPrestasiController.php
Normal file
23
app/Http/Controllers/Admin/LaporanPrestasiController.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class LaporanPrestasiController extends Controller
|
||||
{
|
||||
//
|
||||
public function utama(Request $request, $ctahun='', $cbulan=''){
|
||||
|
||||
//dapatkan status bayaran
|
||||
$sementara = LesenPenjaja::whereIn('jenis', ['bukan kawasan berpusat','buah bermusim','food truck','foodtruck','car boot sale','berkenderaan','sementara'])
|
||||
->where()
|
||||
->get();
|
||||
|
||||
return view('admin.penjaja.senaraicadangan', compact('senarais'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
157
app/Http/Controllers/Admin/PegawaiPenjajaController.php
Normal file
157
app/Http/Controllers/Admin/PegawaiPenjajaController.php
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\View\View;
|
||||
use App\Models\User;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BorangUlasanIk;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use App\Models\UlasanPegawai;
|
||||
|
||||
class PegawaiPenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function senarai_cadangan(Request $request){
|
||||
|
||||
//dapatkan status bayaran
|
||||
$senarais = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pegawai')->get();
|
||||
|
||||
return view('admin.penjaja.senaraicadangan', compact('senarais'));
|
||||
}
|
||||
|
||||
public function senarai_ulasan_cadangan(Request $request){
|
||||
|
||||
//dapatkan status bayaran
|
||||
$senarais = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pengarah')->get();
|
||||
|
||||
return view('admin.penjaja.senaraiulasan', compact('senarais'));
|
||||
}
|
||||
|
||||
public function papar_cadangan_pegawai(Request $request, $id, $borang_ik_id){
|
||||
|
||||
$show = 'cadangan pegawai';
|
||||
$mohon_id = $id;
|
||||
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
$status_progress = $permohonan->status_progress;
|
||||
|
||||
$borangulas = BorangUlasanIk::find($borang_ik_id);
|
||||
|
||||
$pegs = null;
|
||||
if(auth()->user()->role == 'super'){
|
||||
$pegs = User::where('role', 'pegawai tadbir')->get();
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'status_progress', 'mohon_id', 'borangulas', 'pegs'));
|
||||
}
|
||||
|
||||
public function papar_ulasan_cadangan_pengarah(Request $request, $id, $borang_ik_id){
|
||||
|
||||
$show = 'cadangan pengarah';
|
||||
$mohon_id = $id;
|
||||
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
$status_progress = $permohonan->status_progress;
|
||||
|
||||
$borangulas = BorangUlasanIk::find($borang_ik_id);
|
||||
|
||||
$pengs = null;
|
||||
if(auth()->user()->role == 'super'){
|
||||
$pengs = User::where('role', 'pengarah')->get();
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'status_progress', 'mohon_id', 'borangulas', 'pengs'));
|
||||
}
|
||||
|
||||
public function simpan_cadangan(Request $request){
|
||||
$permohonan = UlasanPegawai::firstOrCreate([
|
||||
'borang_ulasan_ik_id' => $request->borang_ik_id,
|
||||
'lesen_penjaja_id' => $request->permohonan_id,
|
||||
]);
|
||||
|
||||
if(auth()->user()->role == 'super'){
|
||||
$permohonan->dt_pegawai_ulas = $request->input('dt_cadangan');
|
||||
$permohonan->pegawai_id = $request->input('peg_id');
|
||||
|
||||
$user = User::find($request->input('peg_id'));
|
||||
$permohonan->pegawai_jawatan = $user->role;
|
||||
}
|
||||
else{
|
||||
$permohonan->dt_pegawai_ulas = now();
|
||||
|
||||
$user = $request->user();
|
||||
$permohonan->pegawai_id = $user->id;
|
||||
$permohonan->pegawai_jawatan = $user->role;
|
||||
}
|
||||
$permohonan->pegawai_cadangan = $request->input('cadangan');
|
||||
$permohonan->pegawai_syarat = $request->input('tiada_halangan_syarat');
|
||||
$permohonan->pegawai_notis_perlu_dipatuhi = $request->has('tiada_halangan_notis_dipatuhi') ? $request->input('tiada_halangan_notis_dipatuhi') : null;
|
||||
$permohonan->pegawai_tidak_menyokong_sebab = $request->input('tidak_menyokong_atas_sebab');
|
||||
$permohonan->pegawai_dirujuk_unit_penguatkuasa = $request->has('dirujuk_unit_penguatkuasa') ? $request->input('dirujuk_unit_penguatkuasa') : null;
|
||||
$permohonan->pegawai_catatan = $request->input('catatan');
|
||||
|
||||
$permohonan->save();
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'ulasan pengarah';
|
||||
$mohon->save();
|
||||
|
||||
return redirect(route('admin.papar-cadangan-pegawai', ['id'=>$request->permohonan_id, 'borang_ik_id' => $request->borang_ik_id]))->with('success', 'Cadangan telah disimpan.');
|
||||
|
||||
}
|
||||
|
||||
public function simpan_ulasan_cadangan(Request $request){
|
||||
$permohonan = UlasanPegawai::firstOrCreate([
|
||||
'borang_ulasan_ik_id' => $request->borang_ik_id,
|
||||
'lesen_penjaja_id' => $request->permohonan_id,
|
||||
]);
|
||||
|
||||
$permohonan->pengarah_ulasan = $request->input('cadangan');
|
||||
$permohonan->pengarah_bawa_mesyuarat = $request->has('dibawa_ke_mesyuarat') ? $request->input('dibawa_ke_mesyuarat') : '0';
|
||||
$permohonan->pengarah_ditolak_sebab = $request->input('ditolak_sebab');
|
||||
$permohonan->pengarah_catatan = $request->input('catatan');
|
||||
|
||||
if(auth()->user()->role == 'super'){
|
||||
$permohonan->dt_pengarah_ulas = $request->input('dt_cadangan');
|
||||
$permohonan->pengarah_id = $request->input('peg_id');
|
||||
|
||||
$user = User::find($request->input('peg_id'));
|
||||
$permohonan->pengarah_jawatan = $user->role;
|
||||
}
|
||||
else{
|
||||
$permohonan->dt_pengarah_ulas = now();
|
||||
|
||||
$user = $request->user();
|
||||
$permohonan->pengarah_id = $user->id;
|
||||
$permohonan->pengarah_jawatan = $user->role;
|
||||
}
|
||||
|
||||
$permohonan->save();
|
||||
|
||||
if($permohonan->pengarah_ulasan == 'ditangguhkan'){
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'lawatan tapak';
|
||||
$mohon->save();
|
||||
|
||||
$borang = new BorangUlasanIK;
|
||||
$borang->lesen_penjaja_id = $request->permohonan_id;
|
||||
$borang->save();
|
||||
}
|
||||
else{
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'sokong dibawa ke mesyuarat';
|
||||
$mohon->save();
|
||||
}
|
||||
|
||||
return redirect(route('admin.papar-ulasan-cadangan-pengarah', ['id'=>$request->permohonan_id, 'borang_ik_id' => $request->borang_ik_id]))->with('success', 'Cadangan telah disimpan.');
|
||||
}
|
||||
|
||||
}
|
||||
68
app/Http/Controllers/Admin/PengumumanController.php
Normal file
68
app/Http/Controllers/Admin/PengumumanController.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use App\Models\Pengumuman;
|
||||
|
||||
class PengumumanController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$pengumumen = Pengumuman::latest()->get();
|
||||
return view('admin.pengumuman.index', compact('pengumumen'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.pengumuman.create');
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'keterangan' => 'required|string|max:255',
|
||||
'tarikh_mula_papar' => 'required|date',
|
||||
'tarikh_tamat_papar' => 'required|date|after_or_equal:tarikh_mula_papar',
|
||||
]);
|
||||
|
||||
Pengumuman::create([
|
||||
'keterangan' => $request->keterangan,
|
||||
'tarikh_mula_papar' => $request->tarikh_mula_papar,
|
||||
'tarikh_tamat_papar' => $request->tarikh_tamat_papar,
|
||||
'admin_id' => Auth::id(),
|
||||
]);
|
||||
|
||||
return redirect()->route('pengumuman.index')->with('success', 'Pengumuman berjaya ditambah.');
|
||||
}
|
||||
|
||||
public function edit(Pengumuman $pengumuman)
|
||||
{
|
||||
return view('admin.pengumuman.edit', compact('pengumuman'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Pengumuman $pengumuman)
|
||||
{
|
||||
$request->validate([
|
||||
'keterangan' => 'required|string|max:255',
|
||||
'tarikh_mula_papar' => 'required|date',
|
||||
'tarikh_tamat_papar' => 'required|date|after_or_equal:tarikh_mula_papar',
|
||||
]);
|
||||
|
||||
$pengumuman->update([
|
||||
'keterangan' => $request->keterangan,
|
||||
'tarikh_mula_papar' => $request->tarikh_mula_papar,
|
||||
'tarikh_tamat_papar' => $request->tarikh_tamat_papar,
|
||||
]);
|
||||
|
||||
return redirect()->route('pengumuman.index')->with('success', 'Pengumuman berjaya dikemaskini.');
|
||||
}
|
||||
|
||||
public function destroy(Pengumuman $pengumuman)
|
||||
{
|
||||
$pengumuman->delete();
|
||||
return redirect()->route('pengumuman.index')->with('success', 'Pengumuman dipadam.');
|
||||
}
|
||||
}
|
||||
81
app/Http/Controllers/Admin/PengurusanAdminController.php
Normal file
81
app/Http/Controllers/Admin/PengurusanAdminController.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use App\Models\User;
|
||||
|
||||
class PengurusanAdminController extends Controller
|
||||
{
|
||||
//
|
||||
//
|
||||
public function showList(Request $request){
|
||||
$admins = User::whereNotIn('role', ['awam'])->get();
|
||||
|
||||
/* $awams = User::where('role', 'awam')->where(function ($query) use ($request) {
|
||||
$query->where('nokp', 'like', '%'.$request->keyword.'%')
|
||||
->orWhere('name', 'like', '%'.$request->keyword.'%');
|
||||
})->get();*/
|
||||
$keyword = '';
|
||||
|
||||
$awams = null;
|
||||
|
||||
return view('admin.lantikan_admin', compact('awams', 'admins', 'keyword'));
|
||||
}
|
||||
|
||||
public function showListCarian(Request $request){
|
||||
|
||||
$admins = User::whereNotIn('role', ['awam'])->get();
|
||||
|
||||
$awams = User::where('role', 'awam')->where(function ($query) use ($request) {
|
||||
$query->where('nokp', 'like', '%'.$request->keyword.'%')
|
||||
->orWhere('name', 'like', '%'.$request->keyword.'%');
|
||||
})->get();
|
||||
$keyword = $request->keyword;
|
||||
|
||||
return view('admin.lantikan_admin', compact('awams', 'admins', 'keyword'));
|
||||
}
|
||||
|
||||
public function updateRole(Request $request, $id){
|
||||
|
||||
if (! Gate::allows('keje-admin')) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$new_admin = User::findOrFail($id);
|
||||
if(!is_null($new_admin)){
|
||||
$new_admin->role = $request->role;
|
||||
$new_admin->save();
|
||||
|
||||
$msg = "Berjaya dikemaskini sebagai Admin.";
|
||||
}
|
||||
else{
|
||||
$msg = "Terdapat masalah dengan No KP";
|
||||
}
|
||||
|
||||
|
||||
return redirect(route('admin.lantikan-admin'))->with('success', $msg);
|
||||
}
|
||||
|
||||
public function removeAdmin(Request $request, $nokp, $keyword=''){
|
||||
|
||||
if (! Gate::allows('keje-admin')) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$new_admin = User::where('nokp', $nokp)->first();
|
||||
if(!is_null($new_admin)){
|
||||
$new_admin->role = 'awam';
|
||||
$new_admin->save();
|
||||
|
||||
$msg = "Berjaya dikeluarkan dariapda Admin.";
|
||||
}
|
||||
else{
|
||||
$msg = "Terdapat masalah dengan No KP";
|
||||
}
|
||||
|
||||
return redirect(route('admin.lantikan-admin'))->with('success', $msg);
|
||||
}
|
||||
}
|
||||
634
app/Http/Controllers/Admin/PenjajaController.php
Normal file
634
app/Http/Controllers/Admin/PenjajaController.php
Normal file
@@ -0,0 +1,634 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use App\Models\User;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use App\Models\BorangUlasanIk;
|
||||
use App\Models\MesyuaratPelesenan;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\USerSyarikat;
|
||||
use App\Models\Dokumen;
|
||||
use App\Models\LesenPenjajaDokumen;
|
||||
use App\Models\Kawasan;
|
||||
use App\Models\Taman;
|
||||
use App\Models\Jalan;
|
||||
use App\Models\JenisJualan;
|
||||
use App\Models\EpbtBandar;
|
||||
use App\Models\EpbtElsnAkaun;
|
||||
|
||||
class PenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function senarai_pt(Request $request){
|
||||
$colors = [
|
||||
"#1d7af3", // biru vibrant
|
||||
"#f3545d", // merah lembayung terang
|
||||
"#fdaf4b", // oren lembut
|
||||
"#00c9a7", // turquoise
|
||||
"#845ec2", // ungu pastel
|
||||
"#ffc75f", // kuning lembut
|
||||
"#ff6f91", // pink kemerahan
|
||||
"#2c73d2", // biru gelap
|
||||
"#0081cf", // biru cyan
|
||||
];
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$senarais = LesenPenjaja::where('status_progress', 'baru')->get();
|
||||
|
||||
$kawasans = Kawasan::all();
|
||||
|
||||
$i = 0;
|
||||
foreach($kawasans as $kaw){
|
||||
$pie_nama[] = $kaw->nama;
|
||||
$pie[] = LesenPenjaja::where('kawasan_id', $kaw->id)->where('status_progress', 'baru')->count();
|
||||
$pie_kaler[] = $colors[$i];
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
return view('admin.penjaja.senaraibaru', compact('senarais', 'txt_bayar', 'pie_nama', 'pie', 'pie_kaler'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_pt_proses(Request $request){
|
||||
|
||||
$txt_bayar = '';
|
||||
$senarais = LesenPenjaja::where('status_progress', 'menunggu bayaran proses')->get();
|
||||
|
||||
foreach($senarais as $senarai){
|
||||
|
||||
foreach($senarai->bilpelbagais->where('jenis_bil', 'wang proses') as $bil_p){
|
||||
|
||||
try {
|
||||
DB::connection('second_mysql')->getPdo();
|
||||
|
||||
if((is_null($bil_p->description))||($bil_p->description == '')){
|
||||
$epbtbil = EpbtBpBil::where('noakaun', $bil_p->no_bil_pelbagai)->first();
|
||||
|
||||
if($epbtbil){
|
||||
$bil_p->status_mylesen_error = '';
|
||||
$bil_p->ref_no = $epbtbil->norujukan;
|
||||
$bil_p->description = $epbtbil->keterangan;
|
||||
$bil_p->pay_status = $epbtbil->statusbyr;
|
||||
$bil_p->jabatan = $epbtbil->dept_code;
|
||||
$bil_p->ent_opr = $epbtbil->ent_opr;
|
||||
$bil_p->no_bilpelbagai = $epbtbil->nobil;
|
||||
$bil_p->save();
|
||||
|
||||
foreach($epbtbil->bil_items as $epbtbil_item){
|
||||
$bilitem = BilPelbagaiItem::create([
|
||||
'bil_pelbagai_id' => $bil_p->id,
|
||||
'itemno' => $epbtbil_item->noitem,
|
||||
'itemdesc' => $epbtbil_item->keterangan,
|
||||
'itemprice' => $epbtbil_item->amaun,
|
||||
'gst_type' => $epbtbil_item->jenis_gst,
|
||||
'gst_code' => $epbtbil_item->kod_gst,
|
||||
'cr_code' => $epbtbil_item->kodcr,
|
||||
'dr_code' => $epbtbil_item->koddr,
|
||||
'cost_center' => $epbtbil_item->pusatkos,
|
||||
'exp_date' => $epbtbil_item->tamat_tempoh
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($bil_p){
|
||||
$query->where('noakaun', $bil_p->no_bil_pelbagai);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$bil_p->dt_bayar = $bp_bayar->tarikh;
|
||||
$bil_p->no_resit = $bp_bayar->noresit;
|
||||
$bil_p->amaun_bayar = $bp_bayar->amaun;
|
||||
|
||||
$bil_p->save();
|
||||
|
||||
$senarai->status_progress = 'semakan bayaran proses';
|
||||
$senarai->save();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return view('admin.penjaja.senaraiproses', compact('senarais', 'txt_bayar'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_pt_bukafail(Request $request){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$senarais = LesenPenjaja::where('status_progress', 'semakan bayaran proses')->get();
|
||||
|
||||
return view('admin.penjaja.senaraibukafail', compact('senarais', 'txt_bayar'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_pt_daftarlesen(Request $request){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$senarais = LesenPenjaja::whereIn('status_progress', ['ulasan pegawai', 'ulasan pengarah', 'sokong dibawa ke mesyuarat'])->whereNull('no_akaun_lesen')->get();
|
||||
|
||||
return view('admin.penjaja.senaraidaftarlesen', compact('senarais', 'txt_bayar'));
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
public function senarai_mesyuarat(Request $request){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$mesyuarat = MesyuaratPelesenan::latest()->first();
|
||||
$mesyuarats = MesyuaratPelesenan::withCount('lesen_penjajas')->get();
|
||||
$senarais = LesenPenjaja::where('status_progress', 'sokong dibawa ke mesyuarat')->get();
|
||||
|
||||
return view('admin.penjaja.senaraimesyuarat', compact('senarais', 'mesyuarat', 'mesyuarats'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_bawa_mesyuarat(Request $request, $mesyuarat_id){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$mesyuarat = MesyuaratPelesenan::find($mesyuarat_id);
|
||||
$senarais = LesenPenjaja::where('status_progress', 'sokong dibawa ke mesyuarat')->whereDoesntHave('mesyuarats')->get();
|
||||
|
||||
return view('admin.penjaja.senaraibawamesyuaratbaru', compact('senarais', 'mesyuarat'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_keputusan_mesyuarat(Request $request){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$mesyuarats = MesyuaratPelesenan::where('kunci_senarai', '1')->withCount('lesen_penjajas')->get();
|
||||
|
||||
return view('admin.penjaja.senaraikeputusanmesyuarat', compact('mesyuarats'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_keputusan_minit_mesyuarat(Request $request, $mesyuarat_id){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$mesyuarat = MesyuaratPelesenan::find($mesyuarat_id);
|
||||
|
||||
return view('admin.penjaja.senaraikeputusanminitmesyuarat', compact('mesyuarat'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_all(Request $request){
|
||||
$query = LesenPenjaja::with(['user', 'syarikat']);
|
||||
|
||||
// carian nama pemohon atau nama syarikat
|
||||
if ($request->filled('katakunci')) {
|
||||
$katakunci = $request->katakunci;
|
||||
$query->whereHas('user', function($q) use ($katakunci) {
|
||||
$q->where('name', 'like', "%$katakunci%");
|
||||
})->orWhereHas('syarikat', function($q) use ($katakunci) {
|
||||
$q->where('name', 'like', "%$katakunci%");
|
||||
});
|
||||
}
|
||||
|
||||
// carian tahun permohonan
|
||||
if ($request->filled('tahun')) {
|
||||
$query->whereYear('tarikh_mohon', $request->tahun);
|
||||
}
|
||||
|
||||
// pagination
|
||||
$senarais = $query->latest()->paginate(10);
|
||||
|
||||
return view('admin.penjaja.laporandashboard', compact('senarais'));
|
||||
}
|
||||
|
||||
public function papar(Request $request, $id){
|
||||
$show = 'utama';
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show','permohonan', 'mohon_id'));
|
||||
}
|
||||
|
||||
public function papar_map(Request $request, $id){
|
||||
|
||||
$show = 'lokasi';
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'mohon_id'));
|
||||
}
|
||||
|
||||
public function papar_dokumen(Request $request, $id){
|
||||
|
||||
$show = 'dokumen';
|
||||
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
$doc_kad_pengenalan = null;
|
||||
$doc_gambar = null;
|
||||
$doc_lokasi = null;
|
||||
$doc_kebenaran = null;
|
||||
$doc_kenderaan = null;
|
||||
$doc_kenderaan_geran = null;
|
||||
$doc_suntikan_ty2 = null;
|
||||
$doc_kursus_makanan = null;
|
||||
if(!$permohonan->dokumens->isEmpty()){
|
||||
$doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan');
|
||||
$doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar');
|
||||
$doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi');
|
||||
$doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran');
|
||||
$doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan');
|
||||
$doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran');
|
||||
$doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2');
|
||||
$doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan');
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'doc_kad_pengenalan','doc_gambar',
|
||||
'doc_lokasi','doc_kebenaran','doc_kenderaan','doc_kenderaan_geran',
|
||||
'doc_suntikan_ty2', 'doc_kursus_makanan', 'mohon_id'));
|
||||
}
|
||||
|
||||
public function papar_wangproses(Request $request, $id){
|
||||
$show = 'wang proses';
|
||||
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
$jenis_jualans = JenisJualan::all();
|
||||
$kawasans = Kawasan::all();
|
||||
|
||||
$tamans = [];
|
||||
if($permohonan->kawasan_id){
|
||||
$tamans = Taman::where('kawasan_id', $permohonan->kawasan_id)->get();
|
||||
}
|
||||
|
||||
$jalans = [];
|
||||
if($permohonan->taman_id){
|
||||
$jalans = Jalan::where('taman_id', $permohonan->taman_id)->get();
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show','permohonan', 'mohon_id', 'kawasans', 'tamans', 'jalans','jenis_jualans'));
|
||||
}
|
||||
|
||||
public function papar_lesen(Request $request, $id){
|
||||
$show = 'lesen';
|
||||
|
||||
$mohon_id = $id;
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show','permohonan', 'mohon_id'));
|
||||
}
|
||||
|
||||
public function showDokumen($id, $filename)
|
||||
{
|
||||
$path = 'dokumens/penjaja/'.$id.'/'.$filename;
|
||||
|
||||
if (!Storage::exists($path)) {
|
||||
abort(404);
|
||||
}
|
||||
|
||||
return response()->file(storage_path('app/' . $path));
|
||||
}
|
||||
|
||||
public function create(Request $request): View
|
||||
{
|
||||
$lesen_penjaja = new LesenPenjaja();
|
||||
$penjaja = new User();
|
||||
|
||||
$doc_kad_pengenalan = null;
|
||||
$doc_gambar = null;
|
||||
$doc_lokasi = null;
|
||||
$doc_kebenaran = null;
|
||||
$doc_kenderaan = null;
|
||||
$doc_kenderaan_geran = null;
|
||||
$doc_suntikan_ty2 = null;
|
||||
$doc_kursus_makanan = null;
|
||||
|
||||
|
||||
return view('admin.penjaja.mohon_baru', [
|
||||
'user' => $penjaja,
|
||||
'permohonan' => $lesen_penjaja,
|
||||
'doc_kad_pengenalan' => $doc_kad_pengenalan,
|
||||
'doc_gambar' => $doc_gambar,
|
||||
'doc_lokasi' => $doc_lokasi,
|
||||
'doc_kebenaran' => $doc_kebenaran,
|
||||
'doc_kenderaan' => $doc_kenderaan,
|
||||
'doc_kenderaan_geran' => $doc_kenderaan_geran,
|
||||
'doc_suntikan_ty2' => $doc_suntikan_ty2,
|
||||
'doc_kursus_makanan' => $doc_kursus_makanan,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle an incoming registration request.
|
||||
*
|
||||
* @throws \Illuminate\Validation\ValidationException
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
|
||||
$penjaja = User::create([
|
||||
'name' => $request->name,
|
||||
'email' => $request->email,
|
||||
'nokp' => $request->nokp,
|
||||
'notelefon' => $request->notelefon,
|
||||
'alamat' => $request->alamat,
|
||||
'jantina' => $request->jantina,
|
||||
'bangsa' => $request->bangsa,
|
||||
'password' => Hash::make($request->nokp),
|
||||
]);
|
||||
|
||||
$syarikat = Syarikat::firstOrCreate(['nossm'=>$request->nossm],
|
||||
[
|
||||
'name' => ltrim(rtrim($request->nama_perniagaan)),
|
||||
'jenis_perniagaan' => $request->jenis_perniagaan,
|
||||
'nossm' => ltrim(rtrim($request->nossm)),
|
||||
'alamat' => ltrim(rtrim($request->alamat_perniagaan)),
|
||||
'notelefon' => ltrim(rtrim($request->notelefon_perniagaan)),
|
||||
'bil_cawangan' => ltrim(rtrim($request->bil_cawangan)),
|
||||
]);
|
||||
|
||||
$user_syarikat = UserSyarikat::create([
|
||||
'user_id' => $penjaja->id,
|
||||
'syarikat_id' => $syarikat->id,
|
||||
'status' => 'aktif'
|
||||
]);
|
||||
|
||||
$jenis_penjaja = JenisPenjaja::find($request->jenis_penjaja_id);
|
||||
|
||||
if($request->mohon_id != ''){
|
||||
$lesen_penjaja = LesenPenjaja::find($request->mohon_id);
|
||||
$lesen_penjaja->user_id = $penjaja->id;
|
||||
$lesen_penjaja->syarikat_id = $syarikat->id;
|
||||
$lesen_penjaja->jenis_penjaja_id = $request->jenis_penjaja;
|
||||
$lesen_penjaja->jenis_lain = '';
|
||||
$lesen_penjaja->status_tanah = $request->status_tanah;
|
||||
$lesen_penjaja->status_lain = '';
|
||||
$lesen_penjaja->no_petak = $request->petak_penjajaan;
|
||||
$lesen_penjaja->kawasan_id = $request->kawasan;
|
||||
$lesen_penjaja->taman_id = $request->taman;
|
||||
$lesen_penjaja->jalan_id = $request->jalan;
|
||||
$lesen_penjaja->penempatan_id = $request->penempatan;
|
||||
$lesen_penjaja->makanan = $request->makanan;
|
||||
$lesen_penjaja->minuman = $request->minuman;
|
||||
$lesen_penjaja->lain = $request->lain;
|
||||
$lesen_penjaja->masa_jualan_mula = $request->masa_jualan_mula;
|
||||
$lesen_penjaja->masa_jualan_tamat = $request->masa_jualan_tamat;
|
||||
$lesen_penjaja->jenis_kenderaan = $request->jenis_kenderaan;
|
||||
$lesen_penjaja->no_pendaftaran = $request->no_pendaftaran;
|
||||
$lesen_penjaja->longitude = $request->longitude;
|
||||
$lesen_penjaja->latitude = $request->latitude;
|
||||
$lesen_penjaja->group_laporan = $jenis_penjaja->kategori;
|
||||
$lesen_penjaja->tarikhmohon = $request->tarikh_mohon;
|
||||
|
||||
$lesen_penjaja->save();
|
||||
}
|
||||
else{
|
||||
$lesen_penjaja = LesenPenjaja::create([
|
||||
'user_id' => $penjaja->id,
|
||||
'syarikat_id' => $syarikat->id,
|
||||
'jenis_penjaja_id' => $request->jenis_penjaja_id,
|
||||
'jenis_lain' => '',
|
||||
'status_tanah' => $request->status_tanah,
|
||||
'status_lain' => '',
|
||||
'no_petak' => $request->petak_penjajaan,
|
||||
'kawasan_id' => $request->kawasan,
|
||||
'taman_id' => $request->taman,
|
||||
'jalan_id' => $request->jalan,
|
||||
'penempatan_id' => $request->penempatan,
|
||||
'makanan' => $request->makanan,
|
||||
'minuman' => $request->minuman,
|
||||
'lain' => $request->lain,
|
||||
'masa_jualan_mula' => $request->masa_jualan_mula,
|
||||
'masa_jualan_tamat' => $request->masa_jualan_tamat,
|
||||
'jenis_kenderaan' => $request->jenis_kenderaan,
|
||||
'no_pendaftaran' => $request->no_pendaftaran,
|
||||
'longitude' => $request->longitude,
|
||||
'latitude' => $request->latitude,
|
||||
'group_laporan' => $jenis_penjaja->kategori,
|
||||
'tarikhmohon' => $request->tarikh_mohon
|
||||
]);
|
||||
}
|
||||
|
||||
$folder = 'dokumens/penjaja/'.$lesen_penjaja->id.'/';
|
||||
$nama_doc = Dokumen::where('jenis', 'lesen_penjaja')->get();
|
||||
foreach($nama_doc as $doc){
|
||||
if ($request->hasFile($doc->nama)) { //ada upload?
|
||||
|
||||
$validated = $request->validate([
|
||||
$doc->nama => 'file|mimes:jpg,png,pdf', // 2MB max
|
||||
]);
|
||||
|
||||
// Store the file
|
||||
$path = $request->file($doc->nama);
|
||||
$extension = $path->extension(); // Determine the file's extension based on the file's MIME type...
|
||||
|
||||
$name = $doc->nama.".".$extension;
|
||||
|
||||
$path->storeAs($folder, $name);
|
||||
|
||||
$lesen_penjaja_dokumen = LesenPenjajaDokumen::updateOrCreate(
|
||||
[
|
||||
'lesen_penjaja_id' => $lesen_penjaja->id,
|
||||
'dokumen_id' => $doc->id,
|
||||
],
|
||||
[
|
||||
'lesen_penjaja_id' => $lesen_penjaja->id,
|
||||
'dokumen_id' => $doc->id,
|
||||
'path' => $name,
|
||||
'jenis_dokumen' => $extension,
|
||||
]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$bil_p = BilPelbagai::firstOrCreate(
|
||||
['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $lesen_penjaja->id],
|
||||
['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $lesen_penjaja->id,
|
||||
'cara_jana' => 'mylesen', 'jenis_bil'=> 'wang proses', 'status_mylesen'=>'1']
|
||||
);
|
||||
|
||||
|
||||
$lesen_penjaja->status_progress = 'menunggu bayaran proses';
|
||||
$lesen_penjaja->save();
|
||||
|
||||
try {
|
||||
DB::connection('second_mysql')->getPdo();
|
||||
|
||||
if($bil_p->wasRecentlyCreated){
|
||||
$epbtbil = EpbtBpBil::where('noakaun', $request->no_bil_pelbagai)->first();
|
||||
|
||||
if($epbtbil){
|
||||
$bil_p->status_mylesen_error = '';
|
||||
$bil_p->ref_no = $epbtbil->norujukan;
|
||||
$bil_p->description = $epbtbil->keterangan;
|
||||
$bil_p->pay_status = $epbtbil->statusbyr;
|
||||
$bil_p->jabatan = $epbtbil->dept_code;
|
||||
$bil_p->ent_opr = $epbtbil->ent_opr;
|
||||
$bil_p->no_bilpelbagai = $epbtbil->nobil;
|
||||
$bil_p->save();
|
||||
|
||||
foreach($epbtbil->bil_items as $epbtbil_item){
|
||||
$bilitem = BilPelbagaiItem::create([
|
||||
'bil_pelbagai_id' => $bil_p->id,
|
||||
'itemno' => $epbtbil_item->noitem,
|
||||
'itemdesc' => $epbtbil_item->keterangan,
|
||||
'itemprice' => $epbtbil_item->amaun,
|
||||
'gst_type' => $epbtbil_item->jenis_gst,
|
||||
'gst_code' => $epbtbil_item->kod_gst,
|
||||
'cr_code' => $epbtbil_item->kodcr,
|
||||
'dr_code' => $epbtbil_item->koddr,
|
||||
'cost_center' => $epbtbil_item->pusatkos,
|
||||
'exp_date' => $epbtbil_item->tamat_tempoh
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($request){
|
||||
$query->where('noakaun', $request->no_bil_pelbagai);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$bil_p->dt_bayar = $bp_bayar->tarikh;
|
||||
$bil_p->no_resit = $bp_bayar->noresit;
|
||||
$bil_p->amaun_bayar = $bp_bayar->amaun;
|
||||
|
||||
$bil_p->save();
|
||||
|
||||
$lesen_penjaja->status_progress = 'semakan bayaran proses';
|
||||
$lesen_penjaja->save();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.');
|
||||
}
|
||||
|
||||
|
||||
$lesen_penjaja->no_fail_lesen = $request->no_fail_lesen;
|
||||
$lesen_penjaja->no_akaun_lesen = $request->no_akaun_lesen;
|
||||
$lesen_penjaja->kod_lesen = $request->kod_lesen;
|
||||
$lesen_penjaja->kodkawasan = $request->kawasan;
|
||||
$lesen_penjaja->jenis_jualan_id = $request->jenis_jualan;
|
||||
|
||||
|
||||
try {
|
||||
DB::connection('second_mysql')->getPdo();
|
||||
|
||||
$epbtlsn = EpbtElsnAkaun::where('noakaun', $request->no_akaun_lesen)->where('statusaktif', 'A')->first();
|
||||
if(!is_null($epbtlsn)){
|
||||
$lesen_penjaja->dt_lesen_dikeluarkan = $epbtlsn->ent_date;
|
||||
|
||||
$bil_kpi = $lesen_penjaja->kiraKpi();
|
||||
}
|
||||
|
||||
} catch (\Exception $e) {
|
||||
//return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.');
|
||||
}
|
||||
|
||||
$lesen_penjaja->status_progress = 'lawatan tapak';
|
||||
$lesen_penjaja->save();
|
||||
|
||||
$borang = new BorangUlasanIK;
|
||||
$borang->lesen_penjaja_id = $lesen_penjaja->id;
|
||||
$borang->dt_rujuk_ppkp = now();
|
||||
$borang->save();
|
||||
|
||||
// $request->session()->put('lesen_penjaja_id', $lesen_penjaja->id);
|
||||
return redirect(route('admin.papar', ['id' => $lesen_penjaja->id]))->with('success', 'Permohonan telah disimpan.');
|
||||
}
|
||||
|
||||
public function edit_permohonan(Request $request, $id){
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
$doc_kad_pengenalan = null;
|
||||
$doc_gambar = null;
|
||||
$doc_lokasi = null;
|
||||
$doc_kebenaran = null;
|
||||
$doc_kenderaan = null;
|
||||
$doc_kenderaan_geran = null;
|
||||
$doc_suntikan_ty2 = null;
|
||||
$doc_kursus_makanan = null;
|
||||
if(!$permohonan->dokumens->isEmpty()){
|
||||
$doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan');
|
||||
$doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar');
|
||||
$doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi');
|
||||
$doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran');
|
||||
$doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan');
|
||||
$doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran');
|
||||
$doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2');
|
||||
$doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan');
|
||||
}
|
||||
|
||||
if(!is_null($permohonan)){
|
||||
Gate::authorize('keje-pt', $permohonan);
|
||||
|
||||
return view('admin.penjaja.mohon_baru', [
|
||||
'permohonan' => $permohonan,
|
||||
'doc_kad_pengenalan' => $doc_kad_pengenalan,
|
||||
'doc_gambar' => $doc_gambar,
|
||||
'doc_lokasi' => $doc_lokasi,
|
||||
'doc_kebenaran' => $doc_kebenaran,
|
||||
'doc_kenderaan' => $doc_kenderaan,
|
||||
'doc_kenderaan_geran' => $doc_kenderaan_geran,
|
||||
'doc_suntikan_ty2' => $doc_suntikan_ty2,
|
||||
'doc_kursus_makanan' => $doc_kursus_makanan,
|
||||
]);
|
||||
}
|
||||
else{
|
||||
return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai');
|
||||
}
|
||||
}
|
||||
|
||||
public function hapus_permohonan($id){
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
Gate::authorize('keje-pt', $permohonan);
|
||||
|
||||
|
||||
$permohonan->delete();
|
||||
|
||||
|
||||
return redirect(route('dashboard', absolute: false));
|
||||
|
||||
}
|
||||
|
||||
public function hantar_permohonan(Request $request){
|
||||
$permohonan = LesenPenjaja::find($request->session()->get('lesen_penjaja_id'));
|
||||
|
||||
if(!is_null($permohonan)){
|
||||
Gate::authorize('keje-pt', $permohonan);
|
||||
|
||||
$permohonan->status_progress = 'baru';
|
||||
$permohonan->save();
|
||||
|
||||
return redirect(route('dashboard', absolute: false))->with('success', 'Permohonan berjaya dihantar.');
|
||||
}
|
||||
else{
|
||||
return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
528
app/Http/Controllers/Admin/PtPenjajaController.php
Normal file
528
app/Http/Controllers/Admin/PtPenjajaController.php
Normal file
@@ -0,0 +1,528 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use PhpOffice\PhpWord\PhpWord;
|
||||
use PhpOffice\PhpWord\IOFactory;
|
||||
use PhpOffice\PhpWord\Style\PaperSize;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use App\Models\BorangUlasanIk;
|
||||
use App\Models\MesyuaratPelesenan;
|
||||
use App\Models\Kawasan;
|
||||
use App\Models\EpbtPelanggan;
|
||||
use App\Models\EpbtElsnAkaun;
|
||||
|
||||
class PtPenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
|
||||
public function simpanWangProses(Request $request)
|
||||
{
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'menunggu bayaran proses';
|
||||
$mohon->save();
|
||||
|
||||
$bil_p = BilPelbagai::firstOrCreate(
|
||||
['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $request->permohonan_id],
|
||||
['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $request->permohonan_id,
|
||||
'cara_jana' => 'epbt', 'status_mylesen'=>'1', 'jenis_bil' => 'wang proses']
|
||||
);
|
||||
|
||||
try {
|
||||
DB::connection('second_mysql')->getPdo();
|
||||
|
||||
if($bil_p->wasRecentlyCreated){
|
||||
$epbtbil = EpbtBpBil::where('noakaun', $request->no_bil_pelbagai)->first();
|
||||
|
||||
if($epbtbil){
|
||||
$bil_p->status_mylesen_error = '';
|
||||
$bil_p->ref_no = $epbtbil->norujukan;
|
||||
$bil_p->description = $epbtbil->keterangan;
|
||||
$bil_p->pay_status = $epbtbil->statusbyr;
|
||||
$bil_p->jabatan = $epbtbil->dept_code;
|
||||
$bil_p->ent_opr = $epbtbil->ent_opr;
|
||||
$bil_p->no_bilpelbagai = $epbtbil->nobil;
|
||||
$bil_p->jenis_bil = 'wang proses';
|
||||
$bil_p->save();
|
||||
|
||||
foreach($epbtbil->bil_items as $epbtbil_item){
|
||||
$bilitem = BilPelbagaiItem::create([
|
||||
'bil_pelbagai_id' => $bil_p->id,
|
||||
'itemno' => $epbtbil_item->noitem,
|
||||
'itemdesc' => $epbtbil_item->keterangan,
|
||||
'itemprice' => $epbtbil_item->amaun,
|
||||
'gst_type' => $epbtbil_item->jenis_gst,
|
||||
'gst_code' => $epbtbil_item->kod_gst,
|
||||
'cr_code' => $epbtbil_item->kodcr,
|
||||
'dr_code' => $epbtbil_item->koddr,
|
||||
'cost_center' => $epbtbil_item->pusatkos,
|
||||
'exp_date' => $epbtbil_item->tamat_tempoh
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($request){
|
||||
$query->where('noakaun', $request->no_bil_pelbagai);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$bil_p->dt_bayar = $bp_bayar->tarikh;
|
||||
$bil_p->no_resit = $bp_bayar->noresit;
|
||||
$bil_p->amaun_bayar = $bp_bayar->amaun;
|
||||
|
||||
$bil_p->save();
|
||||
|
||||
$mohon->status_progress = 'semakan bayaran proses';
|
||||
$mohon->save();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.');
|
||||
}
|
||||
|
||||
|
||||
return redirect(route('admin.papar-wangproses', ['id'=>$request->permohonan_id]))->with('success', 'No Bil Pelbagai '.$request->no_bil_pelbagai.' telah ditambah');
|
||||
|
||||
}
|
||||
|
||||
public function simpanNoFail(Request $request){
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
|
||||
$mohon->no_akaun_lesen = $request->no_akaun_lesen;
|
||||
if(is_null($mohon->penempatan_id)){
|
||||
$mohon->kawasan_id = $request->kawasan;
|
||||
|
||||
if($request->taman != ''){
|
||||
$mohon->taman_id = $request->taman;
|
||||
}
|
||||
|
||||
if($request->jalan != ''){
|
||||
$mohon->jalan_id = $request->jalan;
|
||||
}
|
||||
}
|
||||
else{
|
||||
$mohon->no_petak = $request->no_petak;
|
||||
}
|
||||
$mohon->jenis_jualan_id = $request->jenis_jualan;
|
||||
|
||||
|
||||
$mohon->save();
|
||||
|
||||
|
||||
return redirect(route('admin.papar-wangproses', ['id'=>$request->permohonan_id]))->with('success', 'Maklumat fail '.$mohon->no_akaun_lesen.' telah disimpan');
|
||||
}
|
||||
|
||||
public function simpanNoLesen(Request $request){
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
|
||||
$mohon->no_akaun_lesen = $request->no_akaun_lesen;
|
||||
$mohon->kod_lesen = $request->kod_lesen;
|
||||
|
||||
try {
|
||||
DB::connection('second_mysql')->getPdo();
|
||||
|
||||
$epbtlsn = EpbtElsnAkaun::where('noakaun', $request->no_akaun_lesen)->where('statusaktif', 'A')->first();
|
||||
if(!is_null($epbtlsn)){
|
||||
$mohon->dt_lesen_dikeluarkan = $epbtlsn->ent_date;
|
||||
|
||||
$bil_kpi = $mohon->kiraKpi();
|
||||
}
|
||||
|
||||
} catch (\Exception $e) {
|
||||
//return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.');
|
||||
}
|
||||
|
||||
$mohon->save();
|
||||
|
||||
|
||||
return redirect(route('admin.papar-lesen', ['id'=>$request->permohonan_id]))->with('success', 'Maklumat fail '.$mohon->no_fail_lesen.' telah disimpan');
|
||||
}
|
||||
|
||||
public function hantarPPK(Request $request){
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'lawatan tapak';
|
||||
$mohon->save();
|
||||
|
||||
$borang = new BorangUlasanIK;
|
||||
$borang->lesen_penjaja_id = $request->permohonan_id;
|
||||
$borang->dt_rujuk_ppkp = now();
|
||||
$borang->save();
|
||||
|
||||
return redirect(route('admin.papar-wangproses', ['id'=>$request->permohonan_id]))->with('success', 'Permohonan '.$mohon->no_akaun_lesen.' telah dihantar untuk tindakan IK.');
|
||||
|
||||
}
|
||||
|
||||
public function simpanPetak(Request $request){
|
||||
|
||||
$permohonan = LesenPenjaja::find($request->permohonan_id);
|
||||
$permohonan->longitude = $request->longitude;
|
||||
$permohonan->latitude = $request->latitude;
|
||||
$permohonan->save();
|
||||
|
||||
return redirect(route('admin.papar-map', [$request->permohonan_id]))->with('success', 'Lokasi telah dikemaskini.');
|
||||
|
||||
}
|
||||
|
||||
public function simpanMesyuarat(Request $request){
|
||||
|
||||
$mesyuarat = MesyuaratPelesenan::firstOrCreate([
|
||||
'tahun' => $request->tahun,
|
||||
'bil_mesyuarat' => $request->bil_mesyuarat,
|
||||
'dt_mesyuarat' => $request->dt_mesyuarat,
|
||||
]);
|
||||
|
||||
if($request->dt_mesyuarat != ''){
|
||||
$mesyuarat->dt_mesyuarat = $request->dt_mesyuarat;
|
||||
}
|
||||
|
||||
return redirect(route('pt.bawa-mesyuarat', [$mesyuarat->id]))->with('success', 'Mesyuarat Bilangan '.$request->bil_mesyuarat.'/'.$request->tahun.' telah direkod.');
|
||||
|
||||
}
|
||||
|
||||
public function simpanSenaraiBawaMesyuarat(Request $request){
|
||||
$meeting = MesyuaratPelesenan::find($request->mesyuarat_id);
|
||||
//$arr_insert = [];
|
||||
$jum = 0;
|
||||
foreach($request->tambah_mesyuarat as $permohonan_id){
|
||||
$meeting->lesen_penjajas()->attach($permohonan_id, [
|
||||
'keputusan_mesyuarat' => '',
|
||||
'by_law' => $request->bylaw,
|
||||
'kodlesen' => $request->kodlesen,
|
||||
'kadar_lesen' => $request->kadar_lesen,
|
||||
'kadar_sampah' => $request->kadar_sampah,
|
||||
'kadar_sewa_petak' => $request->kadar_sewa_petak,
|
||||
'kadar_patil' => $request->kadar_patil,
|
||||
]);
|
||||
$jum++;
|
||||
// $arr_insert[] = $permohonan_id;
|
||||
}
|
||||
|
||||
|
||||
return redirect(route('pt.bawa-mesyuarat', [$request->mesyuarat_id]))->with('success', 'Sebanyak '.$jum.' permohonan ditambah dalam mesyuarat bilangan '.$request->bil_mesyuarat.'/'.$request->tahun.'.');
|
||||
|
||||
}
|
||||
|
||||
public function tambahKeMesyuarat(Request $request, $permohonan_id, $mesyuarat_id){
|
||||
$meeting = MesyuaratPelesenan::find($mesyuarat_id);
|
||||
|
||||
$meeting->lesen_penjajas()->attach($permohonan_id, [
|
||||
'keputusan_mesyuarat' => '',
|
||||
]);
|
||||
|
||||
return redirect(route('pt.bawa-mesyuarat', [$mesyuarat_id]))->with('success', 'Permohonan telah dimasukkan');
|
||||
|
||||
}
|
||||
|
||||
public function buangDariMesyuarat(Request $request, $permohonan_id, $mesyuarat_id){
|
||||
$permohonan = LesenPenjaja::find($permohonan_id);
|
||||
|
||||
$permohonan->mesyuarats()->detach($mesyuarat_id);
|
||||
|
||||
return redirect(route('pt.bawa-mesyuarat', [$mesyuarat_id]))->with('success', 'Permohonan telah dikeluarkan');
|
||||
|
||||
}
|
||||
|
||||
/*public function cetakLampiranB(Request $request, $mesyuarat_id){
|
||||
$permohonan = LesenPenjaja::find($permohonan_id);
|
||||
|
||||
$permohonan->mesyuarats()->detach($mesyuarat_id);
|
||||
|
||||
return redirect(route('pt.bawa-mesyuarat', [$mesyuarat_id]))->with('success', 'Permohonan telah dikeluarkan');
|
||||
|
||||
}*/
|
||||
|
||||
public function exportWord(Request $request)
|
||||
{
|
||||
$headText = ['name' => 'Arial', 'size' => 10];
|
||||
|
||||
$phpWord = new PhpWord();
|
||||
|
||||
$phpWord->setDefaultFontName('Arial'); // Jenis font
|
||||
$phpWord->setDefaultFontSize(8); // Saiz font kecil
|
||||
|
||||
$phpWord->addTitleStyle(
|
||||
1, // heading level (1 = Heading1)
|
||||
NULL,
|
||||
['alignment' => 'center']
|
||||
);
|
||||
|
||||
$section = $phpWord->addSection([
|
||||
'orientation' => 'landscape',
|
||||
'marginLeft' => 500,
|
||||
'marginRight' => 500,
|
||||
]);
|
||||
$mesyuarat = MesyuaratPelesenan::findOrFail($request->mesyuarat_id);
|
||||
|
||||
$section->addTitle('PERMOHONAN LESEN PENJAJA SEMENTARA', 1);
|
||||
$section->addTitle('UNTUK MAKLUMAN DAN KELULUSAN DALAM MESYUARAT JAWATANKUASA KESIHATAN DAN PELESENAN', 1);
|
||||
$section->addTitle('BIL '. $mesyuarat->bil_mesyuarat.'/'.$mesyuarat->tahun, 1);
|
||||
|
||||
$section->addText(' ' );
|
||||
$section->addText('JENIS LESEN: PENJAJA SEMENTARA', $headText);
|
||||
|
||||
$i = 0;
|
||||
$kaws = Kawasan::all();
|
||||
|
||||
foreach($kaws as $kaw){
|
||||
|
||||
$apps = $mesyuarat->applicationsInKawasan($kaw->id);
|
||||
if((!is_null($apps))&&(count($apps) > 0)){
|
||||
|
||||
$section->addText($kaw->id.' '.$kaw->nama, $headText);
|
||||
|
||||
// Create table with 7 columns
|
||||
$table = $section->addTable([
|
||||
'borderSize' => 6,
|
||||
'borderColor' => '999999',
|
||||
'alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER,
|
||||
'cellMargin' => 80,
|
||||
]);
|
||||
|
||||
$row = $table->addRow();
|
||||
|
||||
$row->addCell(500)->addText('BIL'); // Col 1
|
||||
$row->addCell(2000)->addText('TARIKH MOHON'); // Col 2
|
||||
$row->addCell(2000)->addText('NO FAIL MBIP(L)(PS)'); // Col 3
|
||||
$row->addCell(4000)->addText('BUTIR-BUTIR PEMOHON LESEN PENJAJA SEMENTARA'); // Col 3
|
||||
$row->addCell(4000)->addText('PERIHAL PERNIAGAAN'); // Col 3
|
||||
$row->addCell(3000)->addText('KADAR BAYARAN 6 BULAN PERTAMA (JAN-JUN)'); // Col 3
|
||||
$row->addCell(1200)->addText('KEPUTUSAN MESYUARAT JKKL '.$mesyuarat->bil_mesyuarat.'/'.$mesyuarat->tahun); // Col 3
|
||||
|
||||
|
||||
foreach($apps as $penjaja){
|
||||
$i++;
|
||||
// Add a single row----------
|
||||
$row = $table->addRow();
|
||||
|
||||
$row->addCell(500)->addText($i); // Col 1
|
||||
$row->addCell(2000)->addText($penjaja->tarikhmohon); // Col 2
|
||||
$row->addCell(2000)->addText($penjaja->no_fail_lesen); // Col 3
|
||||
//-------------------
|
||||
$applicantCell = $row->addCell(4000);
|
||||
$innerTable = $applicantCell->addTable([
|
||||
'cellMarginTop' => 0,
|
||||
'cellMarginBottom' => 0,
|
||||
'cellMarginLeft' => 80,
|
||||
'cellMarginRight' => 80,]);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1500)->addText('Nama Pemohon:', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(200)->addText(': ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(2300)->addText($penjaja->user->name, null, ['spaceAfter' => 0,]);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1500)->addText('Lokasi Perniagaan:', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(200)->addText(': ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(2300)->addText($penjaja->lokasi_penjajaan(), null, ['spaceAfter' => 0,]);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1500)->addText('Masa Perniagaan:', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(200)->addText(': ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(2300)->addText(substr($penjaja->masa_jualan_mula, 0, 5).' - '.substr($penjaja->masa_jualan_tamat, 0, 5), null, ['spaceAfter' => 0,]);
|
||||
//-----------------------
|
||||
|
||||
|
||||
//-------------------
|
||||
$bisnesCell = $row->addCell(4000);
|
||||
$innerTable = $bisnesCell->addTable([
|
||||
'cellMarginTop' => 0,
|
||||
'cellMarginBottom' => 0,
|
||||
'cellMarginLeft' => 80,
|
||||
'cellMarginRight' => 80,]);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1500)->addText('Jenis Perniagaan:', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(200)->addText(': ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(2300)->addText($penjaja->jenis_penjaja->jenis, null, ['spaceAfter' => 0,]);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1500)->addText('By-Law Lesen:', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(200)->addText(': ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(2300)->addText($penjaja->pivot->by_law, null, ['spaceAfter' => 0,]);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1500)->addText('Kod Lesen:', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(200)->addText(': ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(2300)->addText($penjaja->pivot->kodlesen, null, ['spaceAfter' => 0,]);
|
||||
//-----------------------
|
||||
|
||||
|
||||
$kadarCell = $row->addCell(3000);
|
||||
$innerTable = $kadarCell->addTable([
|
||||
'cellMarginTop' => 0,
|
||||
'cellMarginBottom' => 0,
|
||||
'cellMarginLeft' => 80,
|
||||
'cellMarginRight' => 80,]);
|
||||
// Cell 6: License fees
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1400)->addText('Lesen', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(700)->addText(': RM ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(900)->addText(number_format($penjaja->pivot->kadar_lesen, 2, '.', ','),
|
||||
null,
|
||||
['alignment' => 'right', 'spaceAfter' => 0,]
|
||||
);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1400)->addText('Sampah', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(700)->addText(': RM ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(900)->addText(number_format($penjaja->pivot->kadar_sampah, 2, '.', ','),
|
||||
null,
|
||||
['alignment' => 'right', 'spaceAfter' => 0,]
|
||||
);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1400)->addText('Sewa Petak', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(700)->addText(': RM ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(900)->addText(number_format($penjaja->pivot->kadar_sewa_petak, 2, '.', ','),
|
||||
null,
|
||||
['alignment' => 'right', 'spaceAfter' => 0,]
|
||||
);
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1400)->addText('Patil', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(700)->addText(': RM ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(900)->addText(number_format($penjaja->pivot->kadar_patil, 2, '.', ','),
|
||||
null,
|
||||
['alignment' => 'right', 'spaceAfter' => 0,]
|
||||
);
|
||||
|
||||
$jumlah = $penjaja->pivot->kadar_lesen + $penjaja->pivot->kadar_sampah + $penjaja->pivot->kadar_sewa_petak + $penjaja->pivot->kadar_patil;
|
||||
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1400)->addText('Jumlah', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(700)->addText(': RM ', null, ['spaceAfter' => 0,]);
|
||||
$innerTable->addCell(900)->addText(number_format($jumlah, 2, '.', ','),
|
||||
null,
|
||||
['alignment' => 'right', 'spaceAfter' => 0,]
|
||||
);
|
||||
|
||||
|
||||
$resultCell = $row->addCell(1200);
|
||||
$innerTable = $resultCell->addTable();
|
||||
// Cell 6: License fees
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1200)->addText('[ ] Lulus');
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1200)->addText('[ ] Tangguh');
|
||||
$innerTable->addRow();
|
||||
$innerTable->addCell(1200)->addText('[ ] Tolak');
|
||||
|
||||
}
|
||||
|
||||
$section->addText(' ' );
|
||||
}
|
||||
}
|
||||
|
||||
$filename = 'lesenku-' . $mesyuarat->id . '.docx';
|
||||
$path = storage_path('app/public/' . $filename);
|
||||
|
||||
$writer = IOFactory::createWriter($phpWord, 'Word2007');
|
||||
$writer->save($path);
|
||||
|
||||
return response()->download($path)->deleteFileAfterSend(true);
|
||||
}
|
||||
|
||||
public function sahkanSenarai(Request $request){
|
||||
|
||||
$mesyuarat = MesyuaratPelesenan::find($request->mesyuarat_id);
|
||||
$mesyuarat->kunci_senarai = '1';
|
||||
$mesyuarat->save();
|
||||
|
||||
foreach($mesyuarat->lesen_penjajas as $permohonan){
|
||||
$permohonan->status_progress = 'menunggu keputusan mesyuarat';
|
||||
$permohonan->save();
|
||||
}
|
||||
|
||||
|
||||
return redirect(route('pt.keputusanmesyuarat', [$request->mesyuarat_id]))->with('success', 'Mesyuarat Bilangan '.$request->bil_mesyuarat.'/'.$request->tahun.' telah direkod.');
|
||||
|
||||
}
|
||||
|
||||
public function simpanKeputusanMesyuarat(Request $request){
|
||||
|
||||
$i = 0;
|
||||
$mesyuarat = MesyuaratPelesenan::find($request->mesyuarat_id);
|
||||
//`status_progress`, `status_mesyuarat`
|
||||
foreach($mesyuarat->lesen_penjajas as $permohonan){
|
||||
$keputusan_dia = $request->keputusan[$permohonan->id];
|
||||
$permohonan->status_progress = 'keputusan diperolehi';
|
||||
if($keputusan_dia == 'ditangguhkan'){
|
||||
$permohonan->status_mesyuarat = 'ditangguhkan';
|
||||
$permohonan->pivot->keputusan_mesyuarat = 'menangguhkan';
|
||||
}
|
||||
elseif($keputusan_dia == 'diluluskan'){
|
||||
$permohonan->status_mesyuarat = 'diluluskan';
|
||||
$permohonan->pivot->keputusan_mesyuarat = 'meluluskan';
|
||||
}
|
||||
elseif($keputusan_dia == 'ditolak'){
|
||||
$permohonan->status_mesyuarat = 'ditolak';
|
||||
$permohonan->pivot->keputusan_mesyuarat = 'menolak';
|
||||
}
|
||||
$i++;
|
||||
$permohonan->save();
|
||||
}
|
||||
|
||||
|
||||
return redirect(route('pt.dapat-keputusan-mesyuarat', [$request->mesyuarat_id]))->with('success', 'Keputusan Mesyuarat Bilangan '.$request->bil_mesyuarat.'/'.$request->tahun.' telah direkod untuk '.$i.' permohonan.');
|
||||
|
||||
}
|
||||
|
||||
public function searchPelanggan(Request $request){
|
||||
$no_pelanggans = null;
|
||||
if(isset($request->carian)){
|
||||
$no_pelanggans = EpbtPelanggan::where('nokpdaftar', 'LIKE', "%".$request->carian."%")->orWhere('nama', 'LIKE', "%".$request->carian."%")->get();
|
||||
}
|
||||
//dd($no_pelanggans);
|
||||
return view('admin.penjaja.cekbilpel', ['no_pelanggans' => $no_pelanggans]);
|
||||
}
|
||||
|
||||
|
||||
public function ajaxUpdateNoFailLesen(Request $request, $permohonanId): JsonResponse
|
||||
{
|
||||
// Optional: authorization ikut role/policy
|
||||
// $this->authorize('update', ...);
|
||||
|
||||
$validated = $request->validate([
|
||||
'no_fail_lesen' => ['nullable', 'string', 'max:100'],
|
||||
]);
|
||||
|
||||
$lesen = LesenPenjaja::where('id', $permohonanId)->first();
|
||||
|
||||
if (!$lesen) {
|
||||
// Kalau kau nak auto-create record bila belum wujud:
|
||||
// $lesen = LesenPenjaja::create(['permohonan_id' => $permohonanId, 'no_fail_lesen' => $validated['no_fail_lesen'] ?? null]);
|
||||
return response()->json([
|
||||
'ok' => false,
|
||||
'message' => 'Rekod lesen_penjajas untuk permohonan ini tidak dijumpai.'
|
||||
], 404);
|
||||
}
|
||||
|
||||
$lesen->no_fail_lesen = $validated['no_fail_lesen'] ?? null;
|
||||
$lesen->save();
|
||||
|
||||
return response()->json([
|
||||
'ok' => true,
|
||||
'message' => 'No fail lesen berjaya disimpan.',
|
||||
'no_fail_lesen' => $lesen->no_fail_lesen,
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
100
app/Http/Controllers/Admin/asal/DashboardController.php
Normal file
100
app/Http/Controllers/Admin/asal/DashboardController.php
Normal file
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
//
|
||||
public function utama(Request $request, $ctahun=''){
|
||||
if($ctahun == ''){
|
||||
$ctahun = date('Y');
|
||||
}
|
||||
|
||||
$permohonans = LesenPenjaja::whereYear('tarikhmohon', $ctahun)->get();
|
||||
|
||||
$countKPI = LesenPenjaja::whereYear('tarikhlulus', $ctahun)
|
||||
->whereRaw('DATEDIFF(tarikhlulus, tarikhmohon) > 14')
|
||||
->count();
|
||||
|
||||
//dapatkan status bayaran untuk update mana yg tgu wang proses
|
||||
$semakresits = LesenPenjaja::where('status_progress', 'LIKE', 'menunggu bayaran proses')->get();
|
||||
|
||||
foreach($semakresits as $semakresit){
|
||||
$bil_p = BilPelbagai::where('jenis_bil', 'wang proses')->where('lesen_penjaja_id', $semakresit->id)->first();
|
||||
// dd($semakresit,$bil_p);
|
||||
if(!is_null(optional($bil_p)->no_akaun_bilpelbagai)){
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($bil_p){
|
||||
$query->where('noakaun', $bil_p->no_akaun_bilpelbagai);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$bil_p->dt_bayar = $bp_bayar->tarikh;
|
||||
$bil_p->no_resit = $bp_bayar->noresit;
|
||||
$bil_p->amaun_bayar = $bp_bayar->amaun;
|
||||
$bil_p->save();
|
||||
|
||||
$semakresit->status_progress = 'semakan bayaran proses';
|
||||
$semakresit->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
//end update status wang proses
|
||||
|
||||
$txt_bayar = '';
|
||||
//senarai permohonan baru
|
||||
$baru = LesenPenjaja::where('status_progress', 'baru')->count();
|
||||
//senarai belum bayar wang proses
|
||||
$belum_bayar_proses = LesenPenjaja::where('status_progress', 'menunggu bayaran proses')->count();
|
||||
//senarai dah bayar wang proses
|
||||
$bayar_proses = LesenPenjaja::where('status_progress', 'semakan bayaran proses')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$periksa_tapak = LesenPenjaja::where('status_progress', 'LIKE', 'lawatan tapak')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$pegawai_belum_ulas = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pegawai')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$pengarah_belum_ulas = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pengarah')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$bawa_mesyuarat = LesenPenjaja::where('status_progress', 'LIKE', 'sokong dibawa ke mesyuarat')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$keputusan_mesyuarat = LesenPenjaja::where('status_progress', 'LIKE', 'keputusan diperolehi')->whereNull('status_mesyuarat')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$keluar_lesen = LesenPenjaja::where('status_progress', 'LIKE', 'keputusan diperolehi')->where('status_mesyuarat', 'LIKE', 'diluluskan')->count();
|
||||
//dapatkan yang perlu lawatan tapak
|
||||
$selesai = LesenPenjaja::where('status_progress', 'LIKE', 'keputusan diperolehi')->whereNotNull('status_mesyuarat')->count();
|
||||
|
||||
return view('admin.penjaja.dashboard', compact('ctahun', 'permohonans', 'countKPI', 'baru', 'belum_bayar_proses', 'bayar_proses', 'periksa_tapak', 'pegawai_belum_ulas', 'pengarah_belum_ulas', 'bawa_mesyuarat', 'keputusan_mesyuarat', 'keluar_lesen', 'selesai'));
|
||||
|
||||
}
|
||||
public function carianutama(Request $request){
|
||||
if($request->input('ctahun') == ''){
|
||||
$ctahun = date('Y');
|
||||
}
|
||||
else{
|
||||
$ctahun = $request->input('ctahun');
|
||||
}
|
||||
|
||||
$permohonans = LesenPenjaja::whereYear('tarikhmohon', $ctahun)->get();
|
||||
|
||||
$countKPI = LesenPenjaja::whereYear('tarikhlulus', $ctahun)
|
||||
->whereRaw('DATEDIFF(tarikhlulus, tarikhmohon) > 14')
|
||||
->count();
|
||||
|
||||
|
||||
|
||||
return view('admin.penjaja.dashboard', compact('ctahun', 'permohonans', 'countKPI'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
165
app/Http/Controllers/Admin/asal/IkPenjajaController.php
Normal file
165
app/Http/Controllers/Admin/asal/IkPenjajaController.php
Normal file
@@ -0,0 +1,165 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BorangUlasanIk;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class IkPenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function senarai_ik(Request $request){
|
||||
|
||||
//dapatkan status bayaran
|
||||
$senarais = LesenPenjaja::where('status_progress', 'LIKE', 'lawatan tapak')->get();
|
||||
|
||||
return view('admin.penjaja.senaraipemeriksaan', compact('senarais'));
|
||||
}
|
||||
|
||||
public function papar(Request $request, $id){
|
||||
$show = 'utama';
|
||||
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show','permohonan'));
|
||||
}
|
||||
|
||||
public function papar_dokumen(Request $request, $id){
|
||||
|
||||
$show = 'dokumen';
|
||||
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
$doc_kad_pengenalan = null;
|
||||
$doc_gambar = null;
|
||||
$doc_lokasi = null;
|
||||
$doc_kebenaran = null;
|
||||
$doc_kenderaan = null;
|
||||
$doc_kenderaan_geran = null;
|
||||
$doc_suntikan_ty2 = null;
|
||||
$doc_kursus_makanan = null;
|
||||
if(!$permohonan->dokumens->isEmpty()){
|
||||
$doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan');
|
||||
$doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar');
|
||||
$doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi');
|
||||
$doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran');
|
||||
$doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan');
|
||||
$doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran');
|
||||
$doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2');
|
||||
$doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan');
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'doc_kad_pengenalan','doc_gambar',
|
||||
'doc_lokasi','doc_kebenaran','doc_kenderaan','doc_kenderaan_geran',
|
||||
'doc_suntikan_ty2', 'doc_kursus_makanan'));
|
||||
}
|
||||
|
||||
public function papar_wangproses(Request $request, $id){
|
||||
$show = 'wang proses';
|
||||
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show','permohonan'));
|
||||
}
|
||||
|
||||
public function papar_map(Request $request, $id){
|
||||
|
||||
$show = 'lokasi';
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan'));
|
||||
}
|
||||
|
||||
public function simpanLokasi(Request $request){
|
||||
|
||||
$permohonan = LesenPenjaja::find($request->permohonan_id);
|
||||
$permohonan->longitude = $request->input('longitude');
|
||||
$permohonan->latitude = $request->input('latitude');
|
||||
|
||||
$permohonan->save();
|
||||
|
||||
return redirect(route('ik.papar-pemeriksaan-map', ['id'=>$request->permohonan_id]));
|
||||
}
|
||||
|
||||
public function papar_ulasan(Request $request, $id){
|
||||
|
||||
$show = 'ulasan ik';
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan'));
|
||||
}
|
||||
|
||||
public function simpanUlasan(Request $request){
|
||||
$permohonan = BorangUlasanIk::firstOrCreate([
|
||||
'lesen_penjaja_id' => $request->permohonan_id,
|
||||
]);
|
||||
|
||||
$permohonan->dt_periksa = $request->input('dt_periksa');
|
||||
$permohonan->kesesuaian_lokasi = $request->input('kesesuaian_lokasi');
|
||||
$permohonan->kesesuaian_lokasi_sebab = $request->input('kesesuaian_lokasi_sebab');
|
||||
$permohonan->dijalankan_oleh = $request->input('dijalankan_oleh');
|
||||
$permohonan->pematuhan_syarat = $request->input('pematuhan_syarat');
|
||||
$permohonan->perkara_perlu_dipatuhi = $request->input('perkara_perlu_dipatuhi');
|
||||
|
||||
$permohonan->pemprosesan_makanan = $request->input('pemprosesan_makanan');
|
||||
if($permohonan->pemprosesan_makanan == 'ada'){
|
||||
$permohonan->pemprosesan_makanan_memasak = $request->has('pemprosesan_makanan_memasak') ? $request->input('pemprosesan_makanan_memasak') : null;
|
||||
$permohonan->pemprosesan_makanan_merebus = $request->has('pemprosesan_makanan_merebus') ? $request->input('pemprosesan_makanan_merebus') : null;
|
||||
$permohonan->pemprosesan_makanan_menggoreng = $request->has('pemprosesan_makanan_menggoreng') ? $request->input('pemprosesan_makanan_menggoreng') : null;
|
||||
$permohonan->pemprosesan_makanan_lain = $request->has('pemprosesan_makanan_lain') ? $request->input('pemprosesan_makanan_lain') : null;
|
||||
if($permohonan->pemprosesan_makanan_lain == '1'){
|
||||
$permohonan->pemprosesan_makanan_lain_txt = $request->input('pemprosesan_makanan_lain_txt');
|
||||
}
|
||||
else{
|
||||
$permohonan->pemprosesan_makanan_lain_txt = '';
|
||||
}
|
||||
}
|
||||
|
||||
$permohonan->mendirikan_bangunan = $request->input('mendirikan_bangunan');
|
||||
$permohonan->jika_guna_kenderaan = $request->input('jika_guna_kenderaan');
|
||||
$permohonan->jenis_kenderaan_lain = $request->input('jenis_kenderaan_lain');
|
||||
$permohonan->no_plate_kenderaan = $request->input('no_plate_kenderaan');
|
||||
$permohonan->dt_mula_niaga = $request->input('dt_mula_niaga');
|
||||
$permohonan->masa_berniaga_mula = $request->input('masa_berniaga_mula');
|
||||
|
||||
$permohonan->kebersihan_diri = $request->input('kebersihan_diri');
|
||||
$permohonan->kebersihan_makanan = $request->input('kebersihan_makanan');
|
||||
$permohonan->kebersihan_kawasan = $request->input('kebersihan_kawasan');
|
||||
$permohonan->laporan_kebersihan_selepas_niaga = $request->input('laporan_kebersihan_selepas_niaga');
|
||||
|
||||
$permohonan->cadangan = $request->input('cadangan');
|
||||
$permohonan->tiada_halangan_syarat = $request->input('tiada_halangan_syarat');
|
||||
$permohonan->tiada_halangan_notis_dipatuhi = $request->has('tiada_halangan_notis_dipatuhi') ? $request->input('tiada_halangan_notis_dipatuhi') : null;
|
||||
$permohonan->tidak_menyokong_atas_sebab = $request->input('tidak_menyokong_atas_sebab');
|
||||
$permohonan->dirujuk_unit_penguatkuasa = $request->has('dirujuk_unit_penguatkuasa') ? $request->input('dirujuk_unit_penguatkuasa') : null;
|
||||
$permohonan->dirujuk_unit_penguatkuasa_txt = $request->input('dirujuk_unit_penguatkuasa_txt');
|
||||
|
||||
$user = $request->user();
|
||||
$permohonan->pegawai_id = $user->id;
|
||||
|
||||
$permohonan->save();
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'ulasan pegawai';
|
||||
|
||||
if($permohonan->cadangan == 'tiada halangan'){
|
||||
$setuju = 'setuju';
|
||||
}
|
||||
else{
|
||||
$setuju = 'tidak setuju';
|
||||
}
|
||||
|
||||
$mohon->save();
|
||||
|
||||
return redirect(route('ik.papar-pemeriksaan-ulasan', ['id'=>$request->permohonan_id]))->with('success', 'Ulasan telah disimpan.');
|
||||
}
|
||||
|
||||
}
|
||||
33
app/Http/Controllers/Admin/asal/PegawaiPenjajaController.php
Normal file
33
app/Http/Controllers/Admin/asal/PegawaiPenjajaController.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BorangUlasanIk;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class PegawaiPenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function senarai_pegawai(Request $request){
|
||||
|
||||
//dapatkan status bayaran
|
||||
$senarais = LesenPenjaja::where('status_progress', 'LIKE', 'ulasan pegawai')->get();
|
||||
|
||||
return view('admin.penjaja.senaraisokongan', compact('senarais'));
|
||||
}
|
||||
|
||||
public function simpanUlasan(Request $request){
|
||||
$permohonan = BorangUlasanIk::firstOrCreate([
|
||||
'lesen_penjaja_id' => $request->permohonan_id,
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
184
app/Http/Controllers/Admin/asal/PenjajaController.php
Normal file
184
app/Http/Controllers/Admin/asal/PenjajaController.php
Normal file
@@ -0,0 +1,184 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Syarikat;
|
||||
use App\Models\LesenPenjaja;
|
||||
use App\Models\BilPelbagai;
|
||||
use App\Models\BilPelbagaiItem;
|
||||
use App\Models\EpbtBpBil;
|
||||
use App\Models\EpbtEcasResit;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class PenjajaController extends Controller
|
||||
{
|
||||
//
|
||||
public function senarai_pt(Request $request){
|
||||
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$senarais = LesenPenjaja::where('status_progress', 'baru')->get();
|
||||
|
||||
return view('admin.penjaja.senaraibaru', compact('senarais', 'txt_bayar'));
|
||||
}
|
||||
|
||||
//
|
||||
public function senarai_pt_proses(Request $request){
|
||||
|
||||
$txt_bayar = '';
|
||||
|
||||
$senarais = LesenPenjaja::where('status_progress', 'semakan bayaran proses')->get();
|
||||
|
||||
return view('admin.penjaja.senaraibukafail', compact('senarais', 'txt_bayar'));
|
||||
}
|
||||
|
||||
public function papar(Request $request, $id){
|
||||
$show = 'utama';
|
||||
$permohonan = LesenPenjaja::find($id);
|
||||
$user = $request->user();
|
||||
|
||||
$doc_kad_pengenalan = null;
|
||||
$doc_gambar = null;
|
||||
$doc_lokasi = null;
|
||||
$doc_kebenaran = null;
|
||||
$doc_kenderaan = null;
|
||||
$doc_kenderaan_geran = null;
|
||||
$doc_suntikan_ty2 = null;
|
||||
$doc_kursus_makanan = null;
|
||||
if(!$permohonan->dokumens->isEmpty()){
|
||||
$doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan');
|
||||
$doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar');
|
||||
$doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi');
|
||||
$doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran');
|
||||
$doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan');
|
||||
$doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran');
|
||||
$doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2');
|
||||
$doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan');
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'user', 'doc_kad_pengenalan','doc_gambar',
|
||||
'doc_lokasi','doc_kebenaran','doc_kenderaan','doc_kenderaan_geran',
|
||||
'doc_suntikan_ty2', 'doc_kursus_makanan'));
|
||||
}
|
||||
|
||||
public function paparLampiran(Request $request, $id): View
|
||||
{
|
||||
$lesen_penjaja = LesenPenjaja::find($id);
|
||||
|
||||
$doc_kad_pengenalan = null;
|
||||
$doc_gambar = null;
|
||||
$doc_lokasi = null;
|
||||
$doc_kebenaran = null;
|
||||
$doc_kenderaan = null;
|
||||
$doc_kenderaan_geran = null;
|
||||
$doc_suntikan_ty2 = null;
|
||||
$doc_kursus_makanan = null;
|
||||
if(!$lesen_penjaja->dokumens->isEmpty()){
|
||||
$doc_kad_pengenalan = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_kad_pengenalan');
|
||||
$doc_gambar = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_gambar');
|
||||
$doc_lokasi = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_lokasi');
|
||||
$doc_kebenaran = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_kebenaran');
|
||||
$doc_kenderaan = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_kenderaan');
|
||||
$doc_kenderaan_geran = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_kenderaan_geran');
|
||||
$doc_suntikan_ty2 = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_suntikan_ty2');
|
||||
$doc_kursus_makanan = $lesen_penjaja->dokumens->firstWhere('nama', 'doc_kursus_makanan');
|
||||
}
|
||||
|
||||
return view('admin.penjaja.papar_mohon_lampiran', [
|
||||
'user' => $request->user(),
|
||||
'permohonan' => $lesen_penjaja,
|
||||
'doc_kad_pengenalan' => $doc_kad_pengenalan,
|
||||
'doc_gambar' => $doc_gambar,
|
||||
'doc_lokasi' => $doc_lokasi,
|
||||
'doc_kebenaran' => $doc_kebenaran,
|
||||
'doc_kenderaan' => $doc_kenderaan,
|
||||
'doc_kenderaan_geran' => $doc_kenderaan_geran,
|
||||
'doc_suntikan_ty2' => $doc_suntikan_ty2,
|
||||
'doc_kursus_makanan' => $doc_kursus_makanan,
|
||||
]);
|
||||
}
|
||||
|
||||
public function simpanWangProses(Request $request)
|
||||
{
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'menunggu bayaran proses';
|
||||
$mohon->save();
|
||||
|
||||
$bil_p = BilPelbagai::firstOrCreate(
|
||||
['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $request->permohonan_id],
|
||||
['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $request->permohonan_id, 'cara_jana' => 'mylesen', 'status_mylesen'=>'1']
|
||||
);
|
||||
|
||||
if($bil_p->wasRecentlyCreated){
|
||||
|
||||
$epbtbil = EpbtBpBil::where('noakaun', $request->no_bil_pelbagai)->first();
|
||||
|
||||
if($epbtbil){
|
||||
$bil_p->status_mylesen_error = '';
|
||||
$bil_p->ref_no = $epbtbil->norujukan;
|
||||
$bil_p->description = $epbtbil->keterangan;
|
||||
$bil_p->pay_status = $epbtbil->statusbyr;
|
||||
$bil_p->jabatan = $epbtbil->dept_code;
|
||||
$bil_p->ent_opr = $epbtbil->ent_opr;
|
||||
$bil_p->no_bilpelbagai = $epbtbil->nobil;
|
||||
$bil_p->save();
|
||||
|
||||
foreach($epbtbil->bil_items as $epbtbil_item){
|
||||
$bilitem = BilPelbagaiItem::create([
|
||||
'bil_pelbagai_id' => $bil_p->id,
|
||||
'itemno' => $epbtbil_item->noitem,
|
||||
'itemdesc' => $epbtbil_item->keterangan,
|
||||
'itemprice' => $epbtbil_item->amaun,
|
||||
'gst_type' => $epbtbil_item->jenis_gst,
|
||||
'gst_code' => $epbtbil_item->kod_gst,
|
||||
'cr_code' => $epbtbil_item->kodcr,
|
||||
'dr_code' => $epbtbil_item->koddr,
|
||||
'cost_center' => $epbtbil_item->pusatkos,
|
||||
'exp_date' => $epbtbil_item->tamat_tempoh
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($request){
|
||||
$query->where('noakaun', $request->no_bil_pelbagai);
|
||||
})->select('noresit', 'tarikh','amaun')
|
||||
->orderBy('tarikh')
|
||||
->first();
|
||||
if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod
|
||||
$bil_p->dt_bayar = $bp_bayar->tarikh;
|
||||
$bil_p->no_resit = $bp_bayar->noresit;
|
||||
$bil_p->amaun_bayar = $bp_bayar->amaun;
|
||||
$bil_p->save();
|
||||
}
|
||||
|
||||
return redirect(route('pt.penjaja-papar', ['id'=>$request->permohonan_id]));
|
||||
|
||||
}
|
||||
|
||||
public function simpanNoFail(Request $request){
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
|
||||
$mohon->no_fail_lesen = $request->no_fail_lesen;
|
||||
$mohon->no_akaun_lesen = $request->no_akaun_lesen;
|
||||
$mohon->save();
|
||||
|
||||
return redirect(route('pt.penjaja-papar', ['id'=>$request->permohonan_id]))->with('msg', 'Maklumat telah disimpan');
|
||||
}
|
||||
|
||||
public function hantarPPK(Request $request){
|
||||
|
||||
$mohon = LesenPenjaja::find($request->permohonan_id);
|
||||
$mohon->status_progress = 'lawatan tapak';
|
||||
$mohon->save();
|
||||
|
||||
return redirect(route('pt.penjaja-papar', ['id'=>$request->permohonan_id]))->with('msg', 'Maklumat telah disimpan');
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user