get(); } else { $punchLists = PunchList::get(); } $punchTotal = []; Log::debug("$cachePrefix start"); 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($punchList->status == "Open") { $punchTotal[$punchList->line_isometric_no][$punchList->test_package][$punchList->category]++; } } DB::beginTransaction(); $count = 0; try { foreach($punchTotal AS $isoNumber => $subData) { foreach($subData AS $testPackage => $data) { TestPackBaseStatus::where([ "test_package_no" => $testPackage, "drawing_no" => $isoNumber, ])->update([ 'punch_a_quantity' => @$data['A'], 'punch_b_quantity' => @$data['B'], 'punch_c_quantity' => @$data['C'], ]); $count++; } } DB::commit(); } catch (\Throwable $th) { db($th->getMessage()); DB::rollback(); } //dump("$count Calculated Punch List ==> Test Pack Base Status"); Log::debug("$cachePrefix end"); ?>