Reputation: 1252
I have a method for passing data to report.blade
How do I so that when there is a .pdf file in Measurement Picture, the PDF file is merged with report.blade
that is exported using a dompdf on the last page.
public function exportPdfRecord(Request $request)
{
// dd($request->all());
// $id = $request->input('id');
$inspect_id = $request->input('id');
$status = $request->input('status');
// dd($inspect_id);
$inspect = InspectRecord::where('inspect_id', $inspect_id)->first();
$inlineReports = InspectRecord::where('inspect_id', $inspect_id)->with(['additionalWos', 'pictureDefects', 'measurementPictures'])->get();
$pictureDefect = PictureDefectRecord::where('inspect_record_id', $inspect->id)->get();
$measurementPicture = MeasurementPictureRecord::where('inspect_record_id', $inspect->id)->get();
// dd($inlineReports);
if($status == 'pre_final'){
$title = 'Pre-Final';
$doc = 'report';
}elseif($status == 'qa_inline'){
$title = 'Inline';
$doc = 'report';
}elseif($status == 'factory_audit'){
$title = 'Factory Audit';
$doc = 'report';
}elseif($status == 'inspection'){
$title = 'Inspection';
$doc = 'reportExport';
}
$data = [
'inlineReports' => $inlineReports,
'inspect' => $inspect,
'pictureDefect' => $pictureDefect,
'measurementPicture' => $measurementPicture,
'title' => $title,
// 'dateRange' => $dateRange,
// 'buyer' => $buyer,
];
$pdf = PDF::loadView('qc.QualityAssurance.pdf.'.$doc, $data)->setPaper('A4', 'portrait');
return $pdf->download($status . '_report_' . Carbon::now()->format('Ymd') . '.pdf');
}
Below is a file from report.blade
resources\views\qc\QualityAssurance\pdf\reportExport.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $title }} Report</title>
<style>
body {
font-family: Arial, sans-serif;
color: #263238;
}
.header div {
float: right;
width: 33.3%;
font-size: 12px;
}
.header span.title {
display: inline-block;
width: 40%;
font-weight: bold;
}
.header span.desc {
display: inline-block;
width: 60%;
}
h3 {
text-align: center;
margin-bottom: 5px;
}
h4 {
text-align: center;
margin-top: 0;
margin-bottom: 20px;
}
.text-center {
text-align: center;
}
.textDetail{
border: 0px solid #E9E9E9;
opacity: 1;
}
table {
border: 1px solid #E9E9E9;
border-collapse: collapse;
width: 100%;
margin-top: 20px;
font-size: 10px;
}
table th, table td {
border: 1px solid #E9E9E9;
padding: 5px;
text-align: center;
}
table th {
background-color: #F9FCFF;
font-size: 12px;
}
.img-defect img {
width: 20%;
margin: 5px;
}
p .textReport
{
margin-top: -15px;
display: inline-block;
width: 150px
/* IE7 */
*display: inline;
zoom: 1;
/* IE7 */
}
.textTitle
{
text-align: left;
}
.textDetail tr td{
font-weight: bolder;
text-align: left;
border:0px solid white
}
.table-defect tr td{
border: 1px solid black;
}
.textData{
border-bottom: 1px solid black !important
}
</style>
</head>
<body>
{{-- @dd($measurementPicture) --}}
<div>
<h3>REPORT {{ strtoupper($title) }} <br>
{{ $inspect->buyer }}.</h3>
<h4 class="text-center">
{{-- @if($dateRange)
{{ $dateRange }}
@else --}}
{{-- [Tanggal Belum Ditetapkan] --}}
{{-- @endif --}}
</h4>
</div>
<section>
@forelse($inlineReports as $report)
{{-- <div class="header clearfix">
<div>
<p><strong>PO Number : </strong>{{ $report->po_number }}</p>
</div>
<div>
<p><strong>Shipment Periode / TOD : </strong>{{ \Carbon\Carbon::parse($report->shipment_period)->format('d/m/Y') }}</p>
</div>
<div>
<p><strong>Inspect Date : </strong>{{ \Carbon\Carbon::parse($report->inspect_date)->format('d/m/Y') }}</p>
</div>
</div> --}}
<div class="header clearfix">
<table class="mt-4 textDetail" >
<tr>
<td>DIVISION</td>
<td colspan="3" class="textData">: <strong>{{ $inspect->buyer }}</strong></td>
<td>WORK</td>
<td colspan="3" class="textData">: <strong>{{ $inspect->style }}</strong></td>
<td>DATE</td>
<td colspan="3" class="textData">: <strong>{{ \Carbon\Carbon::parse($inspect->inspect_date)->format('d/m/Y') }}</strong></td>
</tr>
<tr>
<td>VENDOR</td>
<td class="textData">: <strong>PT.GISTEX</strong></td>
<td>FACTORY</td>
<td colspan="4" class="textData">: <strong>PT.GISTEX GARMENT INDONESIA</strong></td>
<td>PLACING</td>
<td class="textData">: <strong>{{ $inspect->placing }}</strong></td>
<td>SHIP DATE</td>
<td class="textData">: <strong>{{ \Carbon\Carbon::parse($inspect->shipment_period)->format('d/m/Y') }}</strong></td>
</tr>
</table>
<table style="border: 0px solid #E9E9E9; opacity: 1;" class="textDetail " style="margin-bottom: -20px" >
<tr>
<td >PO NO </td>
<td >: {{ $report->po_number }}</td>
</tr>
<tr>
<td >ARTICLE </td>
<td >: {{ $inspect->style }}</td>
</tr>
<tr>
<td>ARTICLE PO QTY</td>
<td>: {{ $report->total_check }}</td>
</tr>
<tr>
<td>DESCRIPTION</td>
<td>: NULL</td>
</tr>
<tr>
<td>FABRIC</td>
<td>: {{ $inspect->fabric }}</td>
</tr>
<tr>
<td>COLOR</td>
<td>: {{ $inspect->color }}</td>
</tr>
<tr>
<td>BREAKDOWN SIZE</td>
<td>: NULL</td>
</tr>
<tr>
<td>SAMPLE SIZE</td>
<td>: {{ $report->sample_size }}</td>
</tr>
</table>
</div>
<div class="header clearfix ">
<table class="table-defect">
<tr>
<td>Pattern</td>
<td></td>
<td>Shell Fabric 1</td>
<td></td>
<td>Waisband 4</td>
<td></td>
<td>Main / Size Label</td>
<td></td>
<td>Poly bag/Sticker</td>
<td></td>
<td>Carton Quality</td>
<td></td>
</tr>
<tr>
<td>Size set sample</td>
<td></td>
<td>Shell Fabric 2</td>
<td></td>
<td></td>
<td></td>
<td>Care/Content Label</td>
<td></td>
<td>UPC Sticker</td>
<td></td>
<td>Carton Size</td>
<td></td>
</tr>
<tr>
<td>PP Sample</td>
<td></td>
<td>Shell Fabric 3</td>
<td></td>
<td>Lining</td>
<td></td>
<td>Supplier Label</td>
<td></td>
<td>Polybag/Boxes</td>
<td></td>
<td>G.W</td>
<td></td>
</tr>
<tr>
<td>Top Sample</td>
<td></td>
<td>Shell Fabric 4</td>
<td></td>
<td>Thread Color/Size 1</td>
<td></td>
<td>C/O: Indonesia</td>
<td></td>
<td>Pack Science</td>
<td></td>
<td>N.W</td>
<td></td>
</tr>
<tr>
<td>Print/Embroidery</td>
<td></td>
<td>Waisband 1</td>
<td></td>
<td>Thread Color/Size 2</td>
<td></td>
<td></td>
<td></td>
<td>Micro-Pak</td>
<td></td>
<td>Shipping mark</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td>Waisband 2</td>
<td></td>
<td>Thread Color/Size 3</td>
<td></td>
<td></td>
<td></td>
<td>Dump Box</td>
<td></td>
<td>Pallet</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td>Waisband 3</td>
<td></td>
<td>Thread Color/Size 4</td>
<td></td>
<td></td>
<td></td>
<td>Fabric Feel Tag</td>
<td></td>
<td>Outer Carton</td>
<td></td>
</tr>
</table>
<table class="textDetail">
<tr>
<td>CTN Required weight</td>
<td class="textData"></td>
<td>Actual Weight</td>
<td class="textData"></td>
<td>Variance</td>
<td class="textData"></td>
<td>Weight</td>
<td class="textData">Pass/Fail</td>
</tr>
<tr>
<td>Count Units</td>
<td class="textData">__________pck.</td>
<td>Errors</td>
<td class="textData">__________pcs</td>
<td>Accuracy</td>
<td class="textData">__________%</td>
<td>Count</td>
<td class="textData">Pass/Fail</td>
</tr>
<tr>
<td>Count units carton no</td>
<td colspan="7" class="textData"></td>
</tr>
<tr>
<td>Audit Carton</td>
<td colspan="7" class="textData"></td>
</tr>
</table>
<table class="table-defect">
<tr>
<td>Defects/Findings</td>
<td>Major</td>
<td>Minor</td>
<td>Defects/Findings</td>
<td>Major</td>
<td>Minor</td>
<td>Defects/Findings</td>
<td>Major</td>
<td>Mijor</td>
</tr>
<tr>
<td>Unsmooth Vurve on Back</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Skip Stich on Flatseam</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Puckering at Flatseam</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Loose Stictch at Bottom Hem</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
<div class="header clearfix">
<table class="textDetail">
<tr>
<td>Quantity Audited</td>
<td class="textData"></td>
<td>Accepted</td>
<td class="textData"></td>
<td>Reject</td>
<td class="textData"></td>
<td>[]</td>
<td>Accept</td>
<td>[]</td>
<td>Fail</td>
<td>[]</td>
<td>Pending</td>
</tr>
<tr>
<td colspan="3">General Workmanship and Measurement Result</td>
<td class="textData" colspan="9"></td>
</tr>
<tr>
<td>Comment</td>
<td colspan="11" class="textData"></td>
</tr>
<tr>
<td><strong>PASSED Fabric & Garment Test is Annualy conducted and ned to be present in the QC file incl. PASSED A01 Test Report.</strong></td>
</tr>
<tr>
<td>OTHER COMMENTS:</td>
</tr>
<tr>
<td colspan="12" class="textData"></td>
</tr>
<tr>
<td colspan="12" class="textData"></td>
</tr>
<tr>
<td colspan="12" class="textData"></td>
</tr>
</table>
<table class="textDetail">
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="textData" style="text-align: center !important;">MIA SUMIATI</td>
<td></td>
<td class="textData" style="text-align: center !important;">RUDIYANTO</td>
</tr>
<tr>
<td style="text-align: center !important;">Autidor</td>
<td></td>
<td style="text-align: center !important;">Factory</td>
</tr>
</table>
</div>
<h4>Type Of Defect</h4>
<table>
<thead>
<tr>
<th>Scratches/Holes</th>
<th>Slub</th>
<th>Broken Stitch</th>
<th>Skip Stitch</th>
<th>Pleated</th>
<th>Puckering</th>
<th>Fractured</th>
<th>Hi Low</th>
<th>Trimming</th>
<th>Dirty</th>
<th>Sticker</th>
<th>Other Defect</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ $report->defect_scratches_holes }}</td>
<td>{{ $report->defect_slub }}</td>
<td>{{ $report->defect_broken_stitch }}</td>
<td>{{ $report->defect_skip_stitch }}</td>
<td>{{ $report->defect_pleated }}</td>
<td>{{ $report->defect_purckering }}</td>
<td>{{ $report->defect_fractured }}</td>
<td>{{ $report->defect_hi_low }}</td>
<td>{{ $report->defect_trimming }}</td>
<td>{{ $report->defect_dirty }}</td>
<td>{{ $report->defect_sticker }}</td>
<td>{{ $report->defect_other }}</td>
</tr>
</tbody>
</table>
<h4>Picture Defect</h4>
<div class="clearfix img-defect">
@forelse($pictureDefect as $defect)
<img src="{{ public_path($defect->image_path) }}" alt="Defect Image">
@empty
<p>No Picture Defects Available</p>
@endforelse
</div>
<h4>Measurement Picture</h4>
<div class="clearfix img-defect">
@forelse($measurementPicture as $measurement)
{{-- @dd($measurement) --}}
<img src="{{ public_path($measurement->image_path) }}" alt="Measurement Image">
@empty
<p>No Measurement Pictures Available</p>
@endforelse
</div>
{{-- <h4>Measurement Document</h4>
<div class="clearfix img-defect">
@forelse($measurementPicture as $measurement)
<iframe src="{{ public_path($measurement->image_path) }}" width="100%" height="500px"></iframe>
@empty
<p>No Measurement Pictures Available</p>
@endforelse
</div> --}}
<div style="page-break-after: always;"></div>
@empty
<p class="text-center">No Data Found</p>
@endforelse
</section>
</body>
</html>
Upvotes: 1
Views: 38