Files
citrus-cms/app/Functions/updateTestPackageStatus.php
2026-04-28 21:14:25 +03:00

67 lines
1.8 KiB
PHP

<?php
function updateTestPackageStatus($testPackage) {
$status = "Waiting";
$ndt_status = $testPackage->ndt_status;
$updateData = [];
if (!rejected_date($testPackage->test_package_sent_date)) {
$status = "Prepairing";
}
if (!rejected_date($testPackage->test_package_approval_date)) {
$status = "Walkdown";
}
if (!rejected_date($testPackage->walkdown_date)) {
$status = "Punch";
}
if (in_array($testPackage->a_punch_point_open, [0, ''])) {
if ($testPackage->welding_status != "Completed") {
$ndt_status = $testPackage->welding_status;
$status = "Welding Ongoing";
} elseif (!in_array($testPackage->repair_remaining, [0, ''])) {
$status = "Repair Waiting";
} else {
$status = "NDT";
}
$updateData['punch_status'] = "Closed";
if (!rejected_date($testPackage->walkdown_date)) {
$updateData['punch_status'] = "Waiting Punch";
}
} else {
$updateData['punch_status'] = "Open";
}
if ($ndt_status == "Completed") {
$status = "Ready for Test";
}
if ($testPackage->test_status == "Accepted") {
$status = "Ready Cleaning-Blowing";
}
if ($testPackage->cleaning_blowing_drying_status == "Accepted") {
if (!in_array($testPackage->b_punch_point_open, [0, ''])) {
if (!in_array($testPackage->c_punch_point_open, [0, ''])) {
$status = "Ready for Reinstatement";
} else {
$status = "C Waiting";
}
} else {
$status = "B Waiting";
}
}
if ($testPackage->reinstatement_status == "Accepted") {
$status = "Completed";
}
$updateData['tp_general_status'] = $status;
$updateData['ndt_status'] = $ndt_status;
return $updateData;
}
?>