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

118 lines
3.2 KiB
PHP

<?php
//document_revisions
$nullEngineering = db("document_revisions")
->select(
"document_revisions.id",
"weld_logs.iso_rev",
"document_revisions.revision_no",
"document_revisions.drawing_no"
)
->join(
"weld_logs",
"document_revisions.drawing_no",
"weld_logs.iso_number"
)
->orderBy("document_revisions.id", "DESC");
if(isset($lineNumber)) {
$_GET['q'] = $lineNumber;
$commitSize = 1;
}
if(!getesit("q","")) {
$nullEngineering = $nullEngineering->where("drawing_no", get("q"));
$updateData = [];
$updateData['pdf_engineering'] = null;
$updateData['pdf_spool_iso'] = null;
$updateData['pdf_as_build'] = null;
db("document_revisions")->where("drawing_no", get("q"))->update($updateData);
}
$nullEngineering = $nullEngineering->get();
//dump($nullEngineering->count());
DB::beginTransaction();
$say = 0;
$k = 0;
Log::debug("📄Document Revisions PDF Link to DB Start " . simdi());
try {
foreach($nullEngineering AS $ne) {
$data = "{$ne->drawing_no}";
$dataWithRev = "{$ne->drawing_no}*{$ne->revision_no}";
//$data = strtolower($data);
$data = str_replace("/", "*", $data);
$data = str_replace(" ", "*", $data);
$dataWithRev = str_replace("/", "*", $dataWithRev);
$dataWithRev = str_replace(" ", "*", $dataWithRev);
if(trim($data) != "") {
$path = "storage/documents/001_Drawings/001_Engineering/*$data*";
$path2 = "storage/documents/001_Drawings/002_Iso/*$data*";
$path3 = "storage/documents/001_Drawings/003_As_Build(ID)/*$data*";
$searchEngineering = glob($path);
if($ne->iso_rev == $ne->revision_no) {
$searchSpoolIso = glob($path2);
$searchAsBuild = glob($path3);
}
$updateData = [];
$updateData['pdf_engineering'] = null;
$updateData['pdf_spool_iso'] = null;
$updateData['pdf_as_build'] = null;
if(isset($searchEngineering[0])) {
$updateData['pdf_engineering'] = $searchEngineering[0];
}
if(isset($searchSpoolIso[0])) {
$updateData['pdf_spool_iso'] = $searchSpoolIso[0];
}
if(isset($searchAsBuild[0])) {
$updateData['pdf_as_build'] = $searchAsBuild[0];
}
////dump($updateData);
db("document_revisions")
->where("id", $ne->id)
->update($updateData);
$k++;
if($say == $commitSize) {
DB::commit();
DB::beginTransaction();
$say = 0;
}
$say++;
}
}
DB::commit();
Log::debug("Document Revisions update PDF link for $k rows");
} catch (\Throwable $th) {
DB::rollback();
Log::error("not update PDF links " . $th->getMessage());
////dump($th->getMessage());
}
Log::debug("📄Document Revisions PDF Link to DB Finish " . simdi());
?>