Files
citrus-cms/app/Http/Controllers/SaveTrigger/punch_lists.php
T
2026-04-28 21:14:25 +03:00

91 lines
2.3 KiB
PHP

<?php
use App\Models\PunchList;
use App\Models\TestPackage;
use App\Models\TestPackBaseStatus;
$id = $request['key'];
$punchListOne = PunchList::where("id", $id)->first();
$punchLists = PunchList::where("test_package", $punchListOne->test_package)->get();
$punchTotal = [];
$punchTotalTP = [];
foreach($punchLists AS $punchList) {
if(!isset($punchTotal[$punchList->line_isometric_no][$punchList->test_package][$punchList->category])) {
$punchTotal[$punchList->line_isometric_no][$punchList->test_package][$punchList->category] = 0;
}
if(!isset($punchTotalTP[$punchList->test_package][$punchList->category])) {
$punchTotalTP[$punchList->test_package][$punchList->category] = 0;
}
if($punchList->status == "Open") {
$punchTotal[$punchList->line_isometric_no][$punchList->test_package][$punchList->category]++;
}
if($punchList->status == "Open") {
$punchTotalTP[$punchList->test_package][$punchList->category]++;
}
}
$count = 0;
$count2 = 0;
foreach($punchTotalTP AS $testPackage => $subData)
{
$punchStatus = $punchList->status;
if(@$subData['A']>0) {
$punchStatus = "Open";
}
$updatedCount = TestPackage::where([
"test_package_number" => $testPackage,
])->update([
'a_punch_point_open' => @$subData['A'],
'b_punch_point_open' => @$subData['B'],
'c_punch_point_open' => @$subData['C'],
'punch_list' => $punchList->punch_list_no,
'punch_status' => $punchStatus,
'walkdown_date' => $punchList->found_date,
]);
$count2 += $updatedCount;
}
foreach($punchTotal AS $isoNumber => $subData) {
foreach($subData AS $testPackage => $data) {
$updatedCount = TestPackBaseStatus::where([
"test_package_no" => $testPackage,
"drawing_no" => $isoNumber,
])->update([
'punch_a_quantity' => @$data['A'],
'punch_status' => $punchList->status,
'punch_b_quantity' => @$data['B'],
'punch_c_quantity' => @$data['C'],
]);
$count += $updatedCount;
}
}
dump("$count Calculated Punch List ==> Test Pack ISO Base Status");
dump("$count2 Calculated Punch List ==> Test Pack Base Status");
?>