65 lines
1.4 KiB
PHP
65 lines
1.4 KiB
PHP
<?php
|
|
use App\Models\PunchList;
|
|
use App\Models\TestPackBaseStatus;
|
|
$cachePrefix = 'sync-punch-qty';
|
|
|
|
|
|
if(isset($id))
|
|
{
|
|
$punchLists = PunchList::where("id", $id)->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");
|
|
|
|
|
|
?>
|