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

88 lines
1.9 KiB
PHP

<?php
//weld_logs
$logPaths = log_paths();
$logTables = log_test_types();
if(isset($logTable)) {
$logTables = [];
$logTables[$logName] = $logTable;
}
?>
@foreach($logTables AS $logName => $logTable)
<?php
$logPath = $logPaths[$logName];
$logDatas = db($logTable)
->orderBy("id", "DESC");
$reportName = $logName . "_report";
if($logName == "pmi") {
$reportName = "no_of_testing_report";
}
if(isset($fileName)) {
$logDatas = $logDatas->where($reportName, $fileName);
$commitSize = 1;
}
$logDatas = $logDatas->get();
//dump($logDatas->count());
DB::beginTransaction();
$say = 0;
$k = 0;
Log::debug("📄 $logName PDF Link to DB Start " . simdi());
try {
foreach($logDatas AS $logData) {
$data = $logData->{$reportName};
$data = str_replace("/", "*", $data);
$data = str_replace(" ", "*", $data);
if(trim($data) != "") {
$path = "storage/documents/$logPath/*$data*";
$searchReport = glob($path);
$updateData = [];
$updateData['report_file'] = null;
if(isset($searchReport[0])) {
$updateData['report_file'] = $searchReport[0];
}
////dump($updateData);
db($logTable)
->where("id", $logData->id)
->update($updateData);
$k++;
if($say == $commitSize) {
DB::commit();
DB::beginTransaction();
$say = 0;
}
$say++;
}
}
DB::commit();
Log::debug("$logName update PDF link for $k rows");
} catch (\Throwable $th) {
DB::rollback();
Log::error("$logName not update PDF links " . $th->getMessage());
////dump($th->getMessage());
}
Log::debug("📄 $logName PDF Link to DB Finish " . simdi());
?>
@endforeach