Merged in main (pull request #33)

Main
This commit is contained in:
Muhd hafifie
2025-01-20 07:28:55 +00:00
7 changed files with 382 additions and 2 deletions
@@ -5,6 +5,11 @@ namespace App\Http\Controllers;
use App\Http\Requests\ProfileRequest;
use App\Http\Requests\PasswordRequest;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Session;
use PDF;
class ProfileController extends Controller
{
@@ -52,4 +57,98 @@ class ProfileController extends Controller
return back()->withPasswordStatus(__('Password successfully updated.'));
}
public function printSuratWakil($kodcaw, $norujukan)
{
$api_url = config('api.url');
$current = Carbon::now();
$current = new Carbon();
$t_cetak = $current->toDateString();
$tarikh_cetak = date('d-m-Y');
$check_norujukan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/checksurat/' . $kodcaw . '/' . $norujukan)->json();
if ($check_norujukan == $norujukan) {
//get details gadai && detail customer
$update_wakil = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/updatewakil/' . $kodcaw . '/' . $norujukan)->json();
$gadai = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/gadai/norujukan/' . $norujukan)->json();
$gadai_details = $gadai[0][0];
$noic = $gadai_details['nokp'];
$customer_detail = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/customers/' . $noic)->json();
$cawangan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/detail/' . $kodcaw)->json();
$cawangan_detail = $cawangan[0];
$nosiri = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/nosiri/wakil/' . $kodcaw . '/' . $norujukan)->json();
// $pdf=PDF::loadView('print.surat_wakil', compact('customer_detail','current','auth_user','api_url','cawangan_detail'))
// ->setPaper('A4','potrait');
// return $pdf->download('notislelong_'.'.pdf');
// dd($gadai_details);
// return view('print.surat_wakil', compact('customer_detail', 'current', 'kodcaw', 'api_url', 'cawangan_detail', 'tarikh_cetak', 'gadai_details', 'noic', 'nosiri'));
$pdf = PDF::loadView('print.surat_wakil', compact('customer_detail', 'current', 'kodcaw', 'api_url', 'cawangan_detail', 'tarikh_cetak', 'gadai_details', 'noic', 'nosiri'))
->setPaper('a4', 'potrait');
return $pdf->download('Surat Wakil.pdf');
} else {
// insert into wakil_surat
$current_year = substr($current->year, 2, 2);
$current_month = sprintf("%02d", $current->month);
$current_day = sprintf("%02d", $current->day);
$surat_wakil = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/wakil/' . $kodcaw . '/' . $t_cetak)->json();
if ($surat_wakil) {
$new_suratid = $surat_wakil['nosiri'] + 1;
} else {
$new_suratid = 1;
}
$new_surat = sprintf("%04d", $new_suratid);
$no_surat = 'WK' . $current_year . $current_month . $current_day . '-' . $new_surat;
Session::put('norujukan', $norujukan);
Session::put('no_surat', $no_surat);
Session::put('page_reload', true);
$gadai = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url') . '/api/wakil/' . $kodcaw, [
'nosiri' => $new_suratid,
'no_surat' => $no_surat,
'norujukan' => $norujukan,
't_cetak' => $t_cetak,
]);
//get details gadai && detail customer
$gadai = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/gadai/norujukan/' . $norujukan)->json();
$gadai_details = $gadai[0][0];
$noic = $gadai_details['nokp'];
$customer_detail = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/customers/' . $noic)->json();
$cawangan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/detail/' . $kodcaw)->json();
$cawangan_detail = $cawangan[0];
$nosiri = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/nosiri/wakil/' . $kodcaw . '/' . $norujukan)->json();
// $pdf=PDF::loadView('print.surat_wakil', compact('customer_detail','current','auth_user','api_url','cawangan_detail'))
// ->setPaper('A4','potrait');
// return $pdf->download('notislelong_'.'.pdf');
// return view('print.surat_wakil', compact('customer_detail', 'current', 'kodcaw', 'api_url', 'cawangan_detail', 'tarikh_cetak', 'gadai_details', 'noic', 'nosiri'));
$pdf = PDF::loadView('print.surat_wakil', compact('customer_detail', 'current', 'kodcaw', 'api_url', 'cawangan_detail', 'tarikh_cetak', 'gadai_details', 'noic', 'nosiri'))
->setPaper('a4', 'potrait');
return $pdf->download('Surat Wakil.pdf');
}
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
<?php
return [
'url' => env('API_URL')
'url' => env('API_URL'),
];
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

@@ -8,6 +8,7 @@
<th>T Akhir</th>
<th>Keuntungan</th>
<th class="hide-xs">Cawangan</th>
<th class="hide-xs">Surat Wakil</th>
</tr>
</thead>
<tbody class="list">
@@ -27,6 +28,8 @@
<td>{{ $data->tarikh_akhir }}</td>
<td>{{ $data->upah_tawarruq_formatted }}</td>
<td class="hide-xs">{{ $data->cawangan_name }}</td>
<!-- <td><a href="{{ route('cust.print.suratwakil',[$data->kodcaw, $data->norujukan]) }}" target='_blank'><i class='fa-solid fa-print'></i></a></td> -->
<td><a href="{{ route('cust.print.suratwakil',[$data->kodcaw, $data->norujukan]) }}" target='_blank'>🖨️</a></td>
</tr>
@endforeach
</tbody>
+277
View File
@@ -0,0 +1,277 @@
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
{{-- <script>
$(document).ready(function() {
window.print
// window.onfocus=function(){ window.close();}
});
</script> --}}
<style>
@page {
margin: 20px;
}
.grid-container {
display: flex;
grid-template-columns: 1fr 1fr 1fr;
padding-top: 10px;
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
#header_surat1, #header_surat2, #nosiri {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
padding: 5px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#header_surat1 p, #nosiri p {
margin: 2px;
}
#header_surat2 {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.flex-justify-center-items-center {
display: flex;
justify-content: center;
align-items: center;
}
.header-img {
width: 55px;
margin: 0 5px;
}
#nosiri {
text-align: right;
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
font-size: 11px;
}
#title {
border: 1px solid black;
}
#title p {
vertical-align: text-top;
text-align: center;
}
#details {
font-family: Arial, Helvetica, sans-serif;
width: 100%;
border-collapse: collapse;
font-size: 12px;
}
#details th, #details td {
text-wrap: nowrap;
text-align: left;
padding: 4px;
}
#details th {
width: 25%;
font-size: 12px;
}
#details td {
width: 25%;
}
#note {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
font-size: 12px;
font-weight: bold;
}
#note p {
margin: 2px;
}
</style>
<body>
<table style="width:100%;">
<tr>
<td style="width:30%;">
<div id="header_surat1">
<p>KOPERASI PERMODALAN KELANTAN BERHAD (D-5-0228)</p>
<p>{{ $cawangan_detail['namacaw'] }}</p>
<p>{{ $cawangan_detail['alamat1'] }}</p>
<p>{{ $cawangan_detail['alamat2'] }}</p>
<p>{{ $cawangan_detail['notel'] }}</p>
</div>
</td>
<td>
<div id="header_surat2">
<div class="flex-justify-center-items-center">
<img src="{{ asset('img/kopkb.png') }}" class="header-img" alt="Logo 1">
<img src="{{ asset('img/ARRAHN1.png') }}" class="header-img" alt="Logo 2">
</div>
</div>
</td>
<td>
<div id="nosiri">
<p>Tarikh Cetak: {{$tarikh_cetak}}</p>
<p>No Siri: {{$nosiri}}</p>
</div>
</td>
</tr>
</table>
<div class="grid-container flex-print" style="margin-bottom: 10px;">
<div id="title">
<p><b>SURAT PELANTIKAN WAKIL<BR>TUJUAN PENYELESAIAN PEMBIAYAAN DI AR-RAHN</b></p>
</div>
<br>
<table id="details">
<tr>
<th>Nama Pelanggan</th>
<td colspan="3">: {{$customer_detail['nama']}}</td>
</tr>
<tr>
<th>No Surat Akuan Gadai</th>
<td>: {{$gadai_details['norujukan']}}</td>
<th>Nilai Marhun</th>
<td>: RM{{number_format($gadai_details['nilaimarhun'],2) }}</td>
</tr>
<tr>
<th>No MyKad / Passport</th>
<td>: {{$noic}}</td>
<th>Nilai Pembiayaan</th>
<td>: RM{{number_format($gadai_details['pinjaman'],2)}}</td>
</tr>
<tr>
<th>No Telefon</th>
<td>: {{$customer_detail['telefon']}}</td>
<th>Baki Pembiayaan</th>
<td>: RM{{number_format($gadai_details['bakipjm'],2)}}</td>
</tr>
<tr>
<th></th>
<td></td>
<th>Harga Jualan</th>
<td>: RM{{number_format($gadai_details['hargajualan'],2)}}</td>
</tr>
</table>
<table id="details" style="margin-top:20px; width:100%;">
<tr>
<td colspan="2">
Saya seperti nama di atas, ingin memaklumkan kepada Ar-Rahn Koperasi Permodalan Kelantan Berhad
bagi Cawangan {{ $cawangan_detail['namacaw'] }}, bahawa saya tidak dapat hadir untuk melakukan transaksi:
</td>
</tr>
<table>
<tr>
<td colspan="2">
<span>
<th><input type="checkbox"></td>
<th>Penyelesaian Penuh</td>
</span>
</td>
<!-- <td colspan="2">
<span>
<th><input type="checkbox"></td>
<th>Penyelesaian Penuh dan Permohonan Pembiayaan Baru</td>
</span>
</td> -->
</tr>
</table>
<table id="details" style="margin-top:20px;">
<tr>
<td colspan="2">1. Saya melantik nama dibawah sebagai wakil bagi pihak saya untuk transaksi sebagaimana di atas. Maklumat wakil adalah seperti berikut:</td>
</tr>
<tr>
<td colspan="2">2. Saya mengaku tidak akan membuat apa-apa Tuntutan @ Ganti Rugi atas kebarangkalian @ kerugian yang berlaku disebabkan perlantikan wakil bagi apa-apa transaksi sebagai wakil saya.
</td>
</tr>
</table>
<table id="details" style="margin-top:20px;">
<tr>
<th style="width: 180px">Nama </td>
<td>:</td>
</tr>
<tr>
<th style="width: 180px">No. Kad Pengenalan </td>
<td>:</td>
</tr>
<tr>
<th style="width: 180px">No. Telefon </td>
<td>:</td>
</tr>
<tr>
<th style="width: 180px">Hubungan </td>
<td>:</td>
</tr>
</table>
<br>
<br>
<table id="details" style="margin-top:10px; width: 100%; text-align: left;">
<tr>
<th style="width: 33%;">Tandatangan Pelanggan</th>
<th style="width: 33%;">Tandatangan Wakil</th>
</tr>
<tr>
<td style="padding: 10px;">
___________________________________<br>
Nama : {{$customer_detail['nama']}}<br>
Tarikh :
</td>
<td style="padding: 10px;">
___________________________________<br>
Nama : <br>
Tarikh :
</td>
</tr>
</table>
<table id="details" style="margin-top:10px; width: 100%; text-align: left;">
<tr>
<th style="width: 33%;">Tandatangan Pengurus Cawangan</th>
</tr>
<tr>
<td style="padding: 10px;">
___________________________________<br>
Nama : <br>
Tarikh :
</td>
</tr>
</table>
<br>
<div id="note">
<p>*Penting:</p>
<p>&nbsp; a) Sila lampirkan bersama:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; i. Salinan kad pengenalan diri pelanggan dan kad pengenalan diri wakil yang dilantik.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; ii. SAG asal pelanggan</p>
<p>&nbsp;b) Pastikan tandatangan pelanggan adalah sama dengan tandatangan di Surat Akuan Gadai.</p>
</div>
</table>
</body>
</html>
+1
View File
@@ -117,6 +117,7 @@ Route::group(['middleware' => 'auth','verified'], function () {
Route::get('/resit', 'App\Http\Controllers\BayaranController@ResitBayaran')->name('action.resit');
Route::get('profile', ['as' => 'profile.edit', 'uses' => 'App\Http\Controllers\ProfileController@edit']);
Route::put('profile', ['as' => 'profile.update', 'uses' => 'App\Http\Controllers\ProfileController@update']);
Route::get('/cust/print.suratwakil/{kodcaw}/{norujukan}',['as'=>'cust.print.suratwakil','uses'=>'App\Http\Controllers\ProfileController@printSuratWakil']);
});