@php function formatDate($date) { // Check if the date is valid if (!strtotime($date)) { return ''; } return date('d-m-Y', strtotime($date)); } function printTillSpecificLength($string, $maxLength) { // Check if the length of the string is less than or equal to the maxLength if (strlen($string) <= $maxLength) { echo $string; } else { // If the length exceeds maxLength, print only up to maxLength characters echo substr($string, 0, $maxLength); } } function reorderVehicleNumber($vehicle) { if ($vehicle) { $vehicle_number = $vehicle; if (strlen($vehicle_number) > 4) { $first_part = substr($vehicle_number, 0, 4); $second_part = substr($vehicle_number, 4); return $second_part . $first_part; } return $vehicle_number; // In case the vehicle number is less than 4 characters } return ''; } function numberToWords($number) { $no = floor($number); $point = round($number - $no, 2) * 100; $hundred = null; $digits_1 = strlen($no); $i = 0; $str = array(); $words = array( '0' => '', '1' => 'One', '2' => 'Two', '3' => 'Three', '4' => 'Four', '5' => 'Five', '6' => 'Six', '7' => 'Seven', '8' => 'Eight', '9' => 'Nine', '10' => 'Ten', '11' => 'Eleven', '12' => 'Twelve', '13' => 'Thirteen', '14' => 'Fourteen', '15' => 'Fifteen', '16' => 'Sixteen', '17' => 'Seventeen', '18' => 'Eighteen', '19' => 'Nineteen', '20' => 'Twenty', '30' => 'Thirty', '40' => 'Forty', '50' => 'Fifty', '60' => 'Sixty', '70' => 'Seventy', '80' => 'Eighty', '90' => 'Ninety' ); $digits = array('', 'Hundred', 'Thousand', 'Lakh', 'Crore'); while ($i < $digits_1) { $divider = ($i == 2) ? 10 : 100; $number = floor($no % $divider); $no = floor($no / $divider); $i += ($divider == 10) ? 1 : 2; if ($number) { $plural = (($counter = count($str)) && $number > 9) ? 's' : null; $hundred = ($counter == 1 && $str[0]) ? ' and ' : null; $str [] = ($number < 21) ? $words[$number] . " " . $digits[$counter] . $plural . " " . $hundred : $words[floor($number / 10) * 10] . " " . $words[$number % 10] . " " . $digits[$counter] . $plural . " " . $hundred; } else $str[] = null; } $str = array_reverse($str); $result = implode('', $str); $points = ($point) ? "." . $words[$point / 10] . " " . $words[$point = $point % 10] : ''; echo $result . "Rupees "; // echo $result . "Rupees " . $points . " Paise"; } if(isset($_GET['copies'])) $copies = $_GET['copies']; else $copies = 'Original'; // BREAK $copies INTO ARRAY $copies = explode(',', $copies); @endphp @php if(isset($multi_print)){ echo 'MULTI PRINT'; } else{ echo $bill->bill_number; } @endphp @foreach($multi_bills as $bill) @foreach($copies as $copy)

{{ $company->company_name }}

{{ $company->address1 }}, {{ $company->pincode }}

@php $account_name = $bill->acc_party['account_name']; $adani_party = strpos(strtolower($account_name), 'adani') !== false; @endphp
Invoice No. {{ $bill->bill_number }} DATE
Name - {{ $bill->acc_party['account_name'] }} {{ formatDate($bill->bill_date) }}
{{ $bill->acc_party['party']['address1'] }} {{ $bill->acc_party['party']['address2'] }} {{ $bill->acc_party['party']['state'] }}
{{ $bill->acc_party['party']['gst_number'] }}
@foreach($bill->bill_desc as $bill_desc) @endforeach
S.NO. DATE LR NO VEHICLE NO. FROM TO WEIGHT RATE/MT FREIGHT TOTAL
{{ $serial+1 }} {{ formatDate($bill_desc['gr_date']) }} {{ $bill_desc['gr_number'] }} {{ $bill_desc['vehicle']?reorderVehicleNumber($bill_desc['vehicle']['vehicle_number']):'' }} {{ $bill_desc['source']['station_name'] }} {{ $bill_desc['destination']['station_name'] }} {{ $bill_desc['total_material_weight'] }} {{ $bill_desc['rate'] }} {{ $bill_desc['freight'] }} {{ round($bill_desc['total_without_gst']) }}
 
 
 
 
 
 
 
 
 
{{ $total_freight }} {{ round($bill->grand_total_amount) }}
PAN : {{ $company->pan_number }}

BANK : {{ $company->bank_name }}

ACCOUNT : {{ $company->account_number }}

IFSC : {{ $company->ifsc }}

NAME : {{ $company->account_name }}

{{ numberToWords($bill->grand_total_amount) }}
@endforeach @endforeach