json); function mb_str_replace($search, $replace, $subject) { return implode($replace, explode($search, $subject, 2)); } $weldLogs = db("weld_logs"); $weldLogs = $weldLogs->join("subcontractors", "weld_logs.general_contractor", "subcontractors.company_name_en"); $montajContractor = db("subcontractors")->where("job_description", "MONTAJ")->first(); $constructionContractor = db("subcontractors")->where("job_description", "CONSTRUCTION")->first(); $weldLogs = $weldLogs->groupBy("line_number")->get(); $prefix = "📂 pdf-washing-blowing-generator"; Log::debug("$prefix start " . simdi()); $k = 0; $projectNameRu = setting('project_name_ru'); foreach($weldLogs AS $weldLog) { $contractorInfo = db("subcontractors")->where("company_name_en", $weldLog->contractor)->first(); $cleaning_blowing_drying_date = db("test_pack_base_statuses") ->join("test_packages", "test_pack_base_statuses.test_package_no", "test_packages.test_package_number") ->select("cleaning_blowing_drying_date") ->where("drawing_no", $weldLog->line_number)->first()?->cleaning_blowing_drying_date; $fileName = $weldLog->line_number; $string = $documentInfo->html; $string = pdf_html_content($string); $string = str_replace("{project_name}", $projectNameRu, $string); $string = workPermitReplacer($string, $weldLog, $documentInfo); $date = (new Carbon($cleaning_blowing_drying_date)); $c1 = $contractorInfo?->project_city_ru; $c2 = $date->translatedFormat('d'); $c3 = $date->translatedFormat('F'); $c4 = $date->translatedFormat('y'); $c5 = $weldLog->general_contractor . "