One Hat Cyber Team
Your IP :
3.19.75.187
Server IP :
104.21.96.1
Server :
Linux agrigation-prod 5.15.0-67-generic #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 x86_64
Server Software :
nginx/1.24.0
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
forge
/
app.gftag.com
/
app
/
Http
/
Controllers
/
View File Name :
ShareholderController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Shareholder; use App\Models\ShareAllotment; use App\Services\OrganisationService; use Illuminate\Support\Facades\View; use PDF; class ShareholderController extends Controller { public function shareHolderCreate(Request $request) { return view('shareholder.create'); } public function shareHolderStore(Request $request) { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); $folio_number = $this->createShareholderFolioNumber($org_id); Shareholder::create([ 'organisation_id' => $org_id, 'name' => $request->name, 'fathers_name' => $request->fathers_name, 'land_holdings' => $request->land_holdings, 'annual_income' => $request->annual_income, 'address' => $request->address, 'bank_details' => $request->bank_details, 'folio_number' => $folio_number, 'gender' => $request->gender, 'amount_collected' => $request->amount_collected, ]); return redirect()->back()->with('message', 'Shareholder added successfully !'); } public function shareHolderView(Request $request) { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); if (View::exists('shareholder.index')) { $shareholders = Shareholder::where('organisation_id', $org_id)->orderBy('id', 'desc')->get(); return view('shareholder.index', ['shareholders' => $shareholders]); } } public function shareHolderEdit(Request $request, $id) { $shareholder = Shareholder::findOrFail($id); return view('shareholder.edit', ['shareholder' => $shareholder]); } public function shareHolderUpdate(Request $request) { $shareholder = Shareholder::find($request->id); $shareholder->name = $request->name; $shareholder->fathers_name = $request->fathers_name; $shareholder->land_holdings = $request->land_holdings; $shareholder->annual_income = $request->annual_income; $shareholder->address = $request->address; $shareholder->bank_details = $request->bank_details; $shareholder->amount_collected = $request->amount_collected; $shareholder->gender = $request->gender; $shareholder->save(); return redirect()->back()->with('message', 'Shareholder Updated successfully !'); } public function createShareholderFolioNumber($org_id) { $shareholder = Shareholder::where('organisation_id', $org_id)->orderBy('id', 'DESC')->first(); $prefix = 'FLN/'; $yearMonth = date('Y-m'); if ($shareholder) { $lastInvoiceNumber = $shareholder->folio_number; preg_match('/\d+$/', $lastInvoiceNumber, $matches); $incrementalPart = ($matches) ? intval($matches[0]) + 1 : 1; $newIncrementalPart = str_pad($incrementalPart, 3, '0', STR_PAD_LEFT); $newInvoiceNumber = $prefix . $yearMonth . '/' . $newIncrementalPart; } else { $newInvoiceNumber = $prefix . $yearMonth . '/' . '0001'; } return $newInvoiceNumber; } public function createCertificate() { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); $shareholders = Shareholder::where('organisation_id', $org_id)->orderBy('id', 'desc')->get(); return view('shareholder.createCertificate', ['shareholders' => $shareholders]); } public function storeCertificate(Request $request) { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); $shareholder = $request->get('shareholder'); $allotment_date = $request->get('allotment_date'); $no_of_share = $request->get('no_of_shares'); $share_lower_range = 0; $share_upper_range = 0; $total_amount = ShareAllotment::where('organisation_id', $org_id)->sum('total_amount'); if ($total_amount) { $share_lower_range = $total_amount / 100; } $share_upper_range = $share_lower_range + $no_of_share; $share_lower_range = $share_lower_range + 1; $certificate_no = $this->createShareholderCertificateNumber($org_id, $shareholder); ShareAllotment::create([ 'organisation_id' => $org_id, 'shareholder_id' => $shareholder, 'allotment_date' => $allotment_date, 'no_of_share' => $no_of_share, 'total_amount' => $no_of_share * 100, 'share_range' => $share_lower_range . '-' . $share_upper_range, 'certificate_number' => $certificate_no ]); return redirect()->back()->with('message', 'Share Allotment recorded successfully !'); } public function allCertificates() { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); if (View::exists('shareholder.certificates')) { $shareallotments = ShareAllotment::where('organisation_id', $org_id)->orderBy('id', 'desc')->get(); return view('shareholder.certificates', ['shareallotments' => $shareallotments]); } } public function printCertificate(Request $request, $id) { $certificate = ShareAllotment::find($id); $shareholder = $certificate->shareholder; $customPaper = array(10, 0, 850.00, 950.80); $pdf = PDF::loadView('shareholder.print', ['certificate' => $certificate, 'shareholder' => $shareholder])->setPaper($customPaper, 'portrait'); return $pdf->stream(); } public function createShareholderCertificateNumber($org_id, $shareholder_id) { $certificate = ShareAllotment::where('organisation_id', $org_id)->where('shareholder_id', $shareholder_id)->orderBy('id', 'DESC')->first(); $prefix = 'CFT/'; $yearMonth = date('Y-m'); if ($certificate) { $lastInvoiceNumber = $certificate->certificate_number; preg_match('/\d+$/', $lastInvoiceNumber, $matches); $incrementalPart = ($matches) ? intval($matches[0]) + 1 : 1; $newIncrementalPart = str_pad($incrementalPart, 4, '0', STR_PAD_LEFT); $newInvoiceNumber = $prefix . $yearMonth . '/' . $newIncrementalPart; } else { $newInvoiceNumber = $prefix . $yearMonth . '/' . '0001'; } return $newInvoiceNumber; } public function editShareCertificateView($id) { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); $shareallotment = ShareAllotment::find($id); $shareholders = Shareholder::where('organisation_id', $org_id)->orderBy('id', 'desc')->get(); return view('shareholder.editCretificate', [ 'shareholders' => $shareholders, 'shareallotment' => $shareallotment ]); } public function editShareCertificate(Request $request) { $data = $request->all(); echo '<pre>'; print_r($data); die(); } }