Files
citrus-cms/resources/views/cron/pdf-db-incoming-control-sync.blade.php
2026-04-28 21:15:09 +03:00

135 lines
4.8 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
$table = "incoming_controls";
$certificatePath = "002_Project_Materials/002_Material Certificate";
$aktPath = "002_Project_Materials/001_Material Akt";
$emailTqPath = "002_Project_Materials/005_Material_Agreement";
$osdPath = "002_Project_Materials/006_Defect_Documents";
$nullDownload = db($table);
if(isset($fileName)) {
$fileName = str_replace(".pdf", "", $fileName);
$nullDownload = $nullDownload->where(function ($query) use ($fileName) {
$query->where("certificate_no", $fileName)
->orWhere("akt_number", $fileName)
->orWhere("email_tq_number", $fileName)
->orWhere("osd_report_no", $fileName);
});
$commitSize = 1;
}
$nullDownload = $nullDownload->get();
DB::beginTransaction();
$commitSize = 100; // Commit her 100 kayıtta bir yapılacak
$say = 0;
$kCertificate = 0;
$kAkt = 0;
$kEmailTq = 0;
$kOsd = 0;
Log::debug("📄$table PDF Link to DB Start " . simdi());
try {
foreach($nullDownload AS $ne) {
$updateData = [];
$updateData['certificate_file'] = null;
$updateData['akt_file'] = null;
$updateData['email_tq_file'] = null;
$updateData['osd_defect_akt_file'] = null;
// Certificate File işlemi
if(!empty($ne->certificate_no)) {
$certificateNo = trim($ne->certificate_no);
$certificateNo = str_replace("/", "*", $certificateNo);
$certificateNo = str_replace(" ", "*", $certificateNo);
if(trim($certificateNo) != "") {
$path = "storage/documents/$certificatePath/*$certificateNo*.pdf";
$searchPDF = glob($path);
if(isset($searchPDF[0])) {
$updateData['certificate_file'] = $searchPDF[0];
$kCertificate++;
}
}
}
// AKT File işlemi
if(!empty($ne->akt_number)) {
$aktNumber = trim($ne->akt_number);
$aktNumber = str_replace("/", "*", $aktNumber);
$aktNumber = str_replace(" ", "*", $aktNumber);
if(trim($aktNumber) != "") {
$path = "storage/documents/$aktPath/*$aktNumber*.pdf";
$searchPDF = glob($path);
if(isset($searchPDF[0])) {
$updateData['akt_file'] = $searchPDF[0];
$kAkt++;
}
}
}
// Email TQ File işlemi
if(!empty($ne->email_tq_number)) {
$emailTqNumber = trim($ne->email_tq_number);
$emailTqNumber = str_replace("/", "*", $emailTqNumber);
$emailTqNumber = str_replace(" ", "*", $emailTqNumber);
if(trim($emailTqNumber) != "") {
$path = "storage/documents/$emailTqPath/*$emailTqNumber*.pdf";
$searchPDF = glob($path);
if(isset($searchPDF[0])) {
$updateData['email_tq_file'] = $searchPDF[0];
$kEmailTq++;
}
}
}
// OSD File işlemi
if(!empty($ne->osd_report_no)) {
$osdReportNo = trim($ne->osd_report_no);
$osdReportNo = str_replace("/", "*", $osdReportNo);
$osdReportNo = str_replace(" ", "*", $osdReportNo);
if(trim($osdReportNo) != "") {
$path = "storage/documents/$osdPath/*$osdReportNo*.pdf";
$searchPDF = glob($path);
if(isset($searchPDF[0])) {
$updateData['osd_defect_akt_file'] = $searchPDF[0];
$kOsd++;
}
}
}
// Eğer herhangi bir güncelleme varsa
if(!is_null($updateData['certificate_file']) || !is_null($updateData['akt_file']) || !is_null($updateData['email_tq_file']) || !is_null($updateData['osd_defect_akt_file'])) {
db($table)
->where("id", $ne->id)
->update($updateData);
if($say == $commitSize) {
DB::commit();
DB::beginTransaction();
$say = 0;
}
$say++;
}
}
DB::commit();
Log::debug("$table update: Certificate PDF link for $kCertificate rows, AKT PDF link for $kAkt rows, Email/TQ PDF link for $kEmailTq rows, OSD PDF link for $kOsd rows");
//dump("$table update: Certificate PDF link for $kCertificate rows, AKT PDF link for $kAkt rows, Email/TQ PDF link for $kEmailTq rows, OSD PDF link for $kOsd rows");
} catch (\Throwable $th) {
DB::rollback();
Log::error("not update PDF links " . $th->getMessage());
dump($th->getMessage());
}
Log::debug("📄$table PDF Link to DB Finish " . simdi());
?>