İlk temizlik tamamlandı bir önceki projeden
This commit is contained in:
@@ -0,0 +1,235 @@
|
||||
<?php
|
||||
$data = db("supports")->where("id", $request['key'])->first();
|
||||
$uniqueFields = [
|
||||
'line' => $data->drawing_no,
|
||||
'component_code_id' => $data->support_code,
|
||||
];
|
||||
|
||||
|
||||
$dataToUpdate = [
|
||||
'project' => $data->zone,
|
||||
'line' => $data->line_number,
|
||||
'rev' => $data->rev,
|
||||
'discipline' => 'Piping Support',
|
||||
'component_code_id' => $data->support_code,
|
||||
// 'longdescription' => $data->line_number,
|
||||
// 'description_en' => $data->line_number,
|
||||
'description_ru' => $data->erection_materials_name,
|
||||
'manufacturing_standard' => $data->standart,
|
||||
'material' => $data->materials,
|
||||
// 'material_quality_standard' => $data->line_number,
|
||||
'quantity' => $data->quantity,
|
||||
'dia_inch_1' => $data->pipe_dia,
|
||||
'dn_1' => $data->pipe_dia,
|
||||
'odmm_1' => $data->welded_pad_measure,
|
||||
// 'schedule_1' => $data->line_number,
|
||||
'thicknessmm_1' => $data->thickness,
|
||||
// 'diainch_2' => $data->line_number,
|
||||
// 'dn_2' => $data->line_number,
|
||||
// 'odmm_2' => $data->line_number,
|
||||
// 'schedule_2' => $data->line_number,
|
||||
// 'thicknessmm_2' => $data->line_number,
|
||||
// 'pn_mpa' => $data->line_number,
|
||||
'weight' => $data->unit_weight,
|
||||
'total_weight' => $data->total_weight,
|
||||
// 'total_weight' => $data->line_number,
|
||||
'designer' => $data->designer,
|
||||
];
|
||||
|
||||
echo db('m_t_o_s')->updateOrInsert($uniqueFields, $dataToUpdate);
|
||||
//dump("save trigger");
|
||||
dump($dataToUpdate);
|
||||
|
||||
|
||||
|
||||
// Update or insert into weld_logs table
|
||||
db("weld_logs")
|
||||
->where([
|
||||
'iso_number' => $data->drawing_no,
|
||||
'element_code_1' => $data->support_code,
|
||||
])
|
||||
->update([
|
||||
'product_standart_1' => $data->standart
|
||||
]);
|
||||
|
||||
db("weld_logs")
|
||||
->where([
|
||||
'iso_number' => $data->drawing_no,
|
||||
'element_code_2' => $data->support_code,
|
||||
])
|
||||
->update([
|
||||
'product_standart_2' => $data->standart
|
||||
]);
|
||||
|
||||
|
||||
$isoToTP = db("weld_logs")
|
||||
->where("line_number", $data->line_number)
|
||||
->select('test_package_no', 'line_number')->pluck('test_package_no', 'line_number');
|
||||
|
||||
$supports = db("supports")->where("line_number", $data->line_number)->get();
|
||||
|
||||
|
||||
$supportStats = [];
|
||||
$supportStatsTP = [];
|
||||
|
||||
foreach($supports AS $support)
|
||||
{
|
||||
$tpNo = @$isoToTP[$support->line_number];
|
||||
|
||||
if(!isset($supportStatsTP[$tpNo]['support_remaining']))
|
||||
{
|
||||
$supportStatsTP[$tpNo]['support_remaining'] = 0;
|
||||
$supportStatsTP[$tpNo]['welded_support_quantity'] = 0;
|
||||
$supportStatsTP[$tpNo]['support_progress'] = 0;
|
||||
}
|
||||
|
||||
if(!isset($supportStats[$support->line_number]['support_remaining']))
|
||||
$supportStats[$support->line_number]['support_remaining'] = 0;
|
||||
|
||||
if(!isset($supportStats[$support->line_number]['welded_support_quantity']))
|
||||
$supportStats[$support->line_number]['welded_support_quantity'] = 0;
|
||||
|
||||
if(!isset($supportStats[$support->line_number]['support_progress']))
|
||||
$supportStats[$support->line_number]['support_progress'] = 0;
|
||||
|
||||
if($support->erection_type == "Weld")
|
||||
{
|
||||
$thisQty = $support->quantity - $support->assembled_su_rt_quanti;
|
||||
|
||||
if(!rejected_date($support->weld_or_assembled_date))
|
||||
{
|
||||
|
||||
$supportStats[$support->line_number]['welded_support_quantity']+= $thisQty;
|
||||
$supportStatsTP[$tpNo]['welded_support_quantity']+= $thisQty;
|
||||
|
||||
$supportStats[$support->line_number]['support_remaining']+= $support->assembled_su_rt_quanti;
|
||||
$supportStatsTP[$tpNo]['support_remaining']+= $support->assembled_su_rt_quanti;
|
||||
} else {
|
||||
$supportStats[$support->line_number]['support_remaining']+= $thisQty;
|
||||
$supportStatsTP[$tpNo]['support_remaining']+= $thisQty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($supportStats[$support->line_number]['welded_support_quantity'] > 0) {
|
||||
$supportStats[$support->line_number]['support_progress'] =
|
||||
100 - ($supportStats[$support->line_number]['support_remaining'] * 100) /
|
||||
($supportStats[$support->line_number]['welded_support_quantity'] + $supportStats[$support->line_number]['support_remaining']);
|
||||
} else {
|
||||
$supportStats[$support->line_number]['support_progress'] = 0; // Eğer welded_support_quantity sıfırsa
|
||||
}
|
||||
|
||||
if($supportStatsTP[$tpNo]['welded_support_quantity'] > 0) {
|
||||
$supportStatsTP[$tpNo]['support_progress'] =
|
||||
100 - ($supportStatsTP[$tpNo]['support_remaining'] * 100) /
|
||||
($supportStatsTP[$tpNo]['welded_support_quantity'] + $supportStatsTP[$tpNo]['support_remaining']);
|
||||
} else {
|
||||
$supportStatsTP[$tpNo]['support_progress'] = 0; // Eğer welded_support_quantity sıfırsa
|
||||
}
|
||||
}
|
||||
dump($supportStatsTP);
|
||||
dump($supportStats);
|
||||
|
||||
|
||||
// Repair logs calculation - similar to repair_logs.php
|
||||
$repairLogs = db("repair_logs")
|
||||
->whereIn("iso_number", array_keys($supportStats))
|
||||
->get();
|
||||
|
||||
$repairLogsSummary = [];
|
||||
$repairLogsSummary2 = [];
|
||||
$repairLogsSummaryCompleted = [];
|
||||
$repairLogsSummaryCompleted2 = [];
|
||||
$repairLogsSummaryRemaining = [];
|
||||
$repairLogsSummaryRemaining2 = [];
|
||||
|
||||
foreach($repairLogs AS $repairLog) {
|
||||
if(!isset($repairLogsSummary[$repairLog->iso_number][$repairLog->test_package_no]))
|
||||
$repairLogsSummary[$repairLog->iso_number][$repairLog->test_package_no] = 0;
|
||||
|
||||
if(!isset($repairLogsSummary2[$repairLog->test_package_no]))
|
||||
$repairLogsSummary2[$repairLog->test_package_no] = 0;
|
||||
|
||||
if(!isset($repairLogsSummaryCompleted[$repairLog->iso_number][$repairLog->test_package_no]))
|
||||
$repairLogsSummaryCompleted[$repairLog->iso_number][$repairLog->test_package_no] = 0;
|
||||
|
||||
if(!isset($repairLogsSummaryRemaining[$repairLog->iso_number][$repairLog->test_package_no]))
|
||||
$repairLogsSummaryRemaining[$repairLog->iso_number][$repairLog->test_package_no] = 0;
|
||||
|
||||
if(!isset($repairLogsSummaryCompleted2[$repairLog->test_package_no]))
|
||||
$repairLogsSummaryCompleted2[$repairLog->test_package_no] = 0;
|
||||
|
||||
if(!isset($repairLogsSummaryRemaining2[$repairLog->test_package_no]))
|
||||
$repairLogsSummaryRemaining2[$repairLog->test_package_no] = 0;
|
||||
|
||||
$repairLogsSummary[$repairLog->iso_number][$repairLog->test_package_no]++;
|
||||
$repairLogsSummary2[$repairLog->test_package_no]++;
|
||||
|
||||
if(!rejected_date($repairLog->repair_date))
|
||||
{
|
||||
$repairLogsSummaryCompleted[$repairLog->iso_number][$repairLog->test_package_no]++;
|
||||
$repairLogsSummaryCompleted2[$repairLog->test_package_no]++;
|
||||
} else {
|
||||
$repairLogsSummaryRemaining[$repairLog->iso_number][$repairLog->test_package_no]++;
|
||||
$repairLogsSummaryRemaining2[$repairLog->test_package_no]++;
|
||||
}
|
||||
}
|
||||
|
||||
dump("Repair Logs Summary:");
|
||||
dump($repairLogsSummary);
|
||||
dump($repairLogsSummaryCompleted);
|
||||
dump($repairLogsSummaryRemaining);
|
||||
|
||||
foreach($supportStats AS $isoNumber => $thisSupportStats)
|
||||
{
|
||||
if($isoNumber != "")
|
||||
{
|
||||
// Get test package number for this ISO
|
||||
$tpNo = @$isoToTP[$isoNumber];
|
||||
|
||||
// Prepare update data with repair information
|
||||
$updateData = [
|
||||
'welded_support_quantity' => $thisSupportStats['welded_support_quantity'],
|
||||
'support_remaining' => $thisSupportStats['support_remaining'],
|
||||
'support_progress' => $thisSupportStats['support_progress'],
|
||||
];
|
||||
|
||||
// Add repair data if available
|
||||
if($tpNo && isset($repairLogsSummary[$isoNumber][$tpNo])) {
|
||||
$updateData['repair_qty'] = $repairLogsSummary[$isoNumber][$tpNo];
|
||||
$updateData['repair_completed'] = $repairLogsSummaryCompleted[$isoNumber][$tpNo];
|
||||
$updateData['repair_remaining'] = $repairLogsSummaryRemaining[$isoNumber][$tpNo];
|
||||
}
|
||||
|
||||
db("test_pack_base_statuses")
|
||||
->where("drawing_no", $isoNumber)
|
||||
->update($updateData);
|
||||
}
|
||||
}
|
||||
|
||||
// Update test packages with repair data as well
|
||||
foreach($supportStatsTP AS $tpNo => $thisSupportStats)
|
||||
{
|
||||
if($tpNo != "")
|
||||
{
|
||||
// Prepare update data with repair information
|
||||
$updateData = [
|
||||
'welded_support_quantity' => $thisSupportStats['welded_support_quantity'],
|
||||
'support_remaining' => $thisSupportStats['support_remaining'],
|
||||
'support_progress' => $thisSupportStats['support_progress'],
|
||||
];
|
||||
|
||||
// Add repair data if available
|
||||
if(isset($repairLogsSummary2[$tpNo])) {
|
||||
$updateData['repair_qty'] = $repairLogsSummary2[$tpNo];
|
||||
$updateData['repair_completed'] = $repairLogsSummaryCompleted2[$tpNo];
|
||||
$updateData['repair_remaining'] = $repairLogsSummaryRemaining2[$tpNo];
|
||||
}
|
||||
|
||||
db("test_packages")
|
||||
->where("test_package_number", $tpNo)
|
||||
->update($updateData);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user