Files
2026-04-28 21:14:25 +03:00

95 lines
3.1 KiB
PHP

<?php
$id = $request['key'];
// Get the line list record before deletion
$lineList = $oldData;
$lineNumber = $lineList->line_no ?? null;
$area = $lineList->unit ?? null;
if ($lineNumber) {
// Delete from paint_follow_ups where primer coating has not started
$deletedFollowUps = db('paint_follow_ups')
->where(
[
'line' => $lineNumber,
'area' => $area,
]
)
->whereNull('primer_coating_start_date')
->whereNull('primer_coating_finish_date')
->whereNull('start_intermediate_date2')
->whereNull('finish_intermediate_date2')
->whereNull('final_coat_start_date3')
->whereNull('final_coat_finish_date3')
->delete();
// Delete from construction_paint_logs (spool-based, where painting has not started)
// Get all spools for this line from weld_logs
$spools = db("weld_logs")
->where("line_number", $lineNumber)
->whereNotNull('spool_number')
->where('spool_number', '!=', '')
->distinct()
->pluck('spool_number');
$deletedConstructionLogs = 0;
if ($spools->isNotEmpty()) {
// Spool-based deletion
$deletedConstructionLogs = db('construction_paint_logs')
->where('line', $lineNumber)
->whereIn('spool', $spools)
->whereNull('blasting_date')
->whereNull('blasting_finish_date')
->whereNull('painting_date_1')
->whereNull('painting_finish_date_1')
->whereNull('painting_date_2')
->whereNull('painting_finish_date_2')
->whereNull('painting_date_3')
->whereNull('painting_finish_date_3')
->delete();
Log::debug("Construction Paint Logs deleted (spool-based)", [
'line' => $lineNumber,
'spool_count' => $spools->count(),
'deleted_count' => $deletedConstructionLogs
]);
} else {
// Fallback to unit-based deletion if no spools found
$deletedConstructionLogs = db('construction_paint_logs')
->where([
'line' => $lineNumber,
'unit' => $area,
])
->whereNull('blasting_date')
->whereNull('blasting_finish_date')
->whereNull('painting_date_1')
->whereNull('painting_finish_date_1')
->whereNull('painting_date_2')
->whereNull('painting_finish_date_2')
->whereNull('painting_date_3')
->whereNull('painting_finish_date_3')
->delete();
Log::debug("Construction Paint Logs deleted (unit-based fallback)", [
'line' => $lineNumber,
'unit' => $area,
'deleted_count' => $deletedConstructionLogs
]);
}
spoolStatusChanger($lineNumber);
Log::info("Deleted related paint records for line: $lineNumber (Line List ID: $id)", [
'deleted_follow_ups' => $deletedFollowUps,
'deleted_construction_logs' => $deletedConstructionLogs,
'spool_based' => $spools->isNotEmpty()
]);
} else {
Log::error("Line number not found for line list ID: $id");
}
?>