bolService = $bolService; } public static function index(Request $request) { return view('m3::liberty-theme.pages.fillBOL2'); } public function fillBOL(Request $request) { // # $bOL = BOL::findOrFail($request); $bOL = $request; $data = $this->bolData($request, $bOL); try { $filledPdf = $this->bolService->fillBillOfLading($data); return response()->download($filledPdf)->deleteFileAfterSend(true); } catch (\Exception $e) { return response()->json(['error' => $e->getMessage()], 500); } } private function bolData(Request $request, Request $bOL): array { return array_merge( $this->bolPrimaryData($request, $bOL), $this->bolRemainingData() ); } private function bolPrimaryData(Request $request, Request $bOL): array { return [ 'bol_number' => $request->input('BOL_number') ?? '1234567890', 'shipper_no' => $request->input('shipper_no') ?? '1234567890', 'date' => now()->format('m/d/Y') ?? '01/01/2000', 'master_bill_no' => 'X', 'master_bill_yes' => $request->input('master_bill_yes') ? 'X' : '', 'master_bill_drops' => $request->input('master_bill_drops') ?? '', 'consignor_name' => $request->input('consignor_name') ?? 'ERICO INTERNATIONAL CORP', 'consignor_address1' => $request->input('consignor_address1') ?? '6800 ARNOLD MILLER PARKWAY', 'consignor_address2' => $request->input('consignor_address2') ?? 'SOLON, OH 44139', 'consignor_address3' => $request->input('consignor_address3') ?? 'USA', 'consignee_name' => $request->input('consignee_name') ?? 'ERICO EUROPE BV', 'consignee_address1' => $request->input('consignee_address1') ?? 'JULES VERNEWEG 75', 'consignee_address2' => $request->input('consignee_address2') ?? '', 'consignee_address3' => $request->input('consignee_address3') ?? 'TILBURG . 5015 BG', 'freight_collect' => 'X', 'carrier_name' => $request->input('carrier_name') ?? 'ICL / Expeditors', 'pieces' => $request->input('pieces') ?? '20', 'line_class' => $request->input('line_class') ?? '50', 'line_weight' => $request->input('line_weight') ?? '8320', 'total_pieces' => $request->input('total_pieces') ?? '20', 'total_line_weight' => $request->input('total_line_weight') ?? '8320', 'description' => $request->input('description') ?? 'Package Description sfdfsdfasdfas dfasdfasdfcasdfvasfa clsdalcdfl Line 2 Line 3 Line 4 Line 5', 'DTESHIPED.1' => date('d/m/Y'), 'invoice_number' => $bOL['BOL_number'], 'amount_due' => number_format($bOL['amount'], 2), 'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #', 'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22', 'TYPEANDESCPTN.13' => 'CONTAINER:', 'TYPEANDESCPTN.2' => 'MECHANICAL / CADDY/ ELECTRICAL', 'TYPEANDESCPTN.4' => 'BOOKING: 150744100', 'TYPEANDESCPTN.5' => 'REFERENCE: 3140028046', 'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E', 'TYPEANDESCPTN.7' => 'SEAL: 637053', 'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05', 'BOFLADNGAGYCD' => $bOL['BOL_number'], 'CLASSORATE1' => '50', 'CNMETRKLICNSE' => 'ICL / Expeditors', 'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG', 'DATE' => date('d/m/Y'), 'FRMNMADDR' => 'ERICO INTERNATIONAL CORP 6800 ARNOLD MILLER PARKWAY SOLON, OH 44139 USA', 'LNITEMWT1' => '8320', 'PARTOFMSTRBILL' => 'No', 'PKGTYPECOUNT1' => '20', 'SHPRNMBR' => '3140028046', 'TOTALWT' => '8320', 'TOTPIECES' => '20', 'ckFREIGHTCOLECT' => 'Yes', 'ckPREPAY' => 'Off', 'DTESHIPED.2' => '', 'LNITEMWT24' => '', 'CLASSORATE24' => '', 'LNITEMCLAS24' => '', 'TYPEANDESCPTN.24' => '', 'PKGTYPECOUNT24' => '', 'LNITEMWT23' => '', 'CLASSORATE23' => '', 'LNITEMCLAS23' => '', 'TYPEANDESCPTN.23' => '', 'PKGTYPECOUNT23' => '', 'LNITEMWT22' => '', 'CLASSORATE22' => '', 'LNITEMCLAS22' => '', 'TYPEANDESCPTN.22' => '', 'PKGTYPECOUNT22' => '', 'LNITEMWT21' => '', 'CLASSORATE21' => '', 'LNITEMCLAS21' => '', 'TYPEANDESCPTN.21' => '', 'PKGTYPECOUNT21' => '', 'LNITEMWT20' => '', 'CLASSORATE20' => '', 'LNITEMCLAS20' => '', 'TYPEANDESCPTN.20' => '', 'PKGTYPECOUNT20' => '', 'LNITEMWT19' => '', 'CLASSORATE19' => '', 'LNITEMCLAS19' => '', 'TYPEANDESCPTN.19' => '', 'PKGTYPECOUNT19' => '', 'LNITEMWT18' => '', 'CLASSORATE18' => '', 'LNITEMCLAS18' => '', 'TYPEANDESCPTN.18' => '', 'PKGTYPECOUNT18' => '', 'LNITEMWT17' => '', 'CLASSORATE17' => '', 'LNITEMCLAS17' => '', 'TYPEANDESCPTN.17' => '', 'PKGTYPECOUNT17' => '', ]; } private function bolRemainingData(): array { return [ 'LNITEMWT16' => '', 'CLASSORATE16' => '', 'LNITEMCLAS16' => '', 'TYPEANDESCPTN.16' => '', 'PKGTYPECOUNT16' => '', 'LNITEMWT15' => '', 'CLASSORATE15' => '', 'LNITEMCLAS15' => '', 'TYPEANDESCPTN.15' => '', 'PKGTYPECOUNT15' => '', 'LNITEMWT14' => '', 'CLASSORAT14' => '', 'LNITEMCLAS14' => '', 'TYPEANDESCPTN.14' => '', 'PKGTYPECOUNT14' => '', 'LNITEMWT13' => '', 'CLASSORATE13' => '', 'LNITEMCLAS13' => '', 'PKGTYPECOUNT13' => '', 'LNITEMWT12' => '', 'CLASSORATE12' => '', 'LNITEMCLAS12' => '', 'TYPEANDESCPTN.12' => '', 'PKGTYPECOUNT12' => '', 'LNITEMWT11' => '', 'CLASSORATE11' => '', 'LNITEMCLAS11' => '', 'TYPEANDESCPTN.11' => '', 'PKGTYPECOUNT11' => '', 'LNITEMWT10' => '', 'CLASSORATE10' => '', 'LNITEMCLAS10' => '', 'PKGTYPECOUNT10' => '', 'LNITEMWT9' => '', 'CLASSORATE9' => '', 'LNITEMCLAS8' => '', 'PKGTYPECOUNT9' => '', 'LNITEMWT8' => '', 'CLASSORATE8' => '', 'TYPEANDESCPTN.8' => '', 'PKGTYPECOUNT8' => '', 'LNITEMWT7' => '', 'CLASSORATE7' => '', 'LNITEMCLAS7' => '', 'PKGTYPECOUNT7' => '', 'LNITEMWT6' => '', 'CLASSORATE6' => '', 'LNITEMCLAS6' => '', 'PKGTYPECOUNT6' => '', 'LNITEMWT5' => '', 'CLASSORATE5' => '', 'LNITEMCLAS5' => '', 'PKGTYPECOUNT5' => '', 'LNITEMWT4' => '', 'CLASSORATE4' => '', 'LNITEMCLAS4' => '', 'PKGTYPECOUNT4' => '', 'LNITEMWT3' => '', 'CLASSORATE3' => '', 'LNITEMCLAS3' => '', 'TYPEANDESCPTN.3' => '', 'PKGTYPECOUNT3' => '', 'LNITEMWT2' => '', 'CLASSORATE2' => '', 'LNITEMCLAS2' => '', 'PKGTYPECOUNT2' => '', 'LNITEMCLAS1' => '', 'HAZLNITEMWT3' => '', 'HAZCLASSORATE3' => '', 'HAZLNITEMCLAS3' => '', 'HAZMATERDESL3' => '', 'HAZMATERL3' => '', 'HAZLNITEMWT2' => '', 'HAZCLASSORATE2' => '', 'HAZLNITEMCLAS2' => '', 'HAZMATERDESL2' => '', 'HAZMATERL2' => '', 'HAZLNITEMWT1' => '', 'HAZCLASSORATE1' => '', 'HAZLNITEMCLAS1' => '', 'HAZMATERDESL1' => '', 'HAZMATERL1' => '', '24HREMGCYRSPNS' => '', 'CARIERFEDEMPID' => '', 'BILLTOADDR' => '', 'NUMDROPS' => '', ]; } }