203 lines
6.2 KiB
PHP
203 lines
6.2 KiB
PHP
<?php
|
||
use Carbon\Carbon;
|
||
|
||
$bugun = Carbon::now();
|
||
$totalWelderWdi = [];
|
||
$totalWelderJoint = [];
|
||
$todayTotalWelderWdi = [];
|
||
$todayTotalWelderJoint = [];
|
||
$dailyTotalWdi = [];
|
||
$dailyAverage = [];
|
||
|
||
$dailyShopTotalWdi = [];
|
||
$dailyShopAverage = [];
|
||
$dailyFieldTotalWdi = [];
|
||
$dailyFieldAverage = [];
|
||
$weldlogWelders = [];
|
||
$weldLogs = apply_welded_filter(db("weld_logs"))->get();
|
||
foreach($weldLogs AS $weldLog) {
|
||
$welderId = get_welder_id($weldLog->real_welder_1);
|
||
$date = $weldLog->welding_date;
|
||
$nps = (float) $weldLog->nps_1;
|
||
|
||
|
||
|
||
if(!in_array($welderId, $weldlogWelders)) {
|
||
$weldlogWelders[] = $welderId;
|
||
}
|
||
|
||
|
||
|
||
if(!isset($totalWelderWdi[$welderId])) $totalWelderWdi[$welderId] = 0;
|
||
if(!isset($totalWelderJoint[$welderId])) $totalWelderJoint[$welderId] = 0;
|
||
if(!isset($todayTotalWelderWdi[$welderId])) $todayTotalWelderWdi[$welderId] = 0;
|
||
if(!isset($todayTotalWelderJoint[$welderId])) $todayTotalWelderJoint[$welderId] = 0;
|
||
if(!isset($dailyTotalWdi[$welderId][$date])) $dailyTotalWdi[$welderId][$date] = 0;
|
||
if(!isset($dailyShopTotalWdi[$welderId][$date])) $dailyShopTotalWdi[$welderId][$date] = 0;
|
||
if(!isset($dailyFieldTotalWdi[$welderId][$date])) $dailyFieldTotalWdi[$welderId][$date] = 0;
|
||
|
||
$totalWelderWdi[$welderId] += $nps;
|
||
$totalWelderJoint[$welderId]++;
|
||
|
||
$weldingDate = Carbon::parse($weldLog->welding_date); // Karşılaştırılacak tarih
|
||
|
||
|
||
if ($weldingDate->isYesterday()) {
|
||
$todayTotalWelderWdi[$welderId] += $nps;
|
||
$todayTotalWelderJoint[$welderId]++;
|
||
}
|
||
|
||
|
||
if($weldLog->type_of_joint == "S") {
|
||
$dailyShopTotalWdi[$welderId][$date] += $nps;
|
||
} else {
|
||
$dailyFieldTotalWdi[$welderId][$date] += $nps;
|
||
}
|
||
|
||
}
|
||
|
||
foreach($dailyTotalWdi AS $welderId => $data) {
|
||
try {
|
||
$dailyAverage[$welderId] = round(array_sum($data) / count(array_filter($data)), 2);
|
||
} catch (\Throwable $th) {
|
||
$dailyAverage[$welderId] = 0;
|
||
}
|
||
|
||
}
|
||
|
||
foreach($dailyShopTotalWdi AS $welderId => $data) {
|
||
try {
|
||
$dailyShopAverage[$welderId] = round(array_sum($data) / count(array_filter($data)), 2);
|
||
} catch (\Throwable $th) {
|
||
$dailyShopAverage[$welderId] = 0;
|
||
}
|
||
}
|
||
|
||
foreach($dailyFieldTotalWdi AS $welderId => $data) {
|
||
try {
|
||
$dailyFieldAverage[$welderId] = round(array_sum($data) / count(array_filter($data)), 2);
|
||
} catch (\Throwable $th) {
|
||
$dailyFieldAverage[$welderId] = 0;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
$totalExaminedJoint = [];
|
||
$totalAcceptedJoint = [];
|
||
$totalNotAcceptedJoint = [];
|
||
$todayNotAcceptedJoint = [];
|
||
$repairRate = [];
|
||
|
||
$rtLogs = db("radiographic_tests")->get();
|
||
|
||
foreach($rtLogs AS $rtLog) {
|
||
|
||
$welderId = get_welder_id($rtLog->real_welder_1);
|
||
|
||
if(!isset($totalExaminedJoint[$welderId])) $totalExaminedJoint[$welderId] = 0;
|
||
if(!isset($repairRate[$welderId])) $repairRate[$welderId] = 0;
|
||
if(!isset($totalAcceptedJoint[$welderId])) $totalAcceptedJoint[$welderId] = 0;
|
||
if(!isset($totalNotAcceptedJoint[$welderId])) $totalNotAcceptedJoint[$welderId] = 0;
|
||
if(!isset($todayNotAcceptedJoint[$welderId])) $todayNotAcceptedJoint[$welderId] = 0;
|
||
|
||
|
||
if($rtLog->rt_result != "") {
|
||
$totalExaminedJoint[$welderId]++;
|
||
}
|
||
|
||
if($rtLog->rt_result == "Accept / Годен") {
|
||
$totalAcceptedJoint[$welderId]++;
|
||
} elseif($rtLog->rt_result != "") {
|
||
$totalNotAcceptedJoint[$welderId]++;
|
||
}
|
||
|
||
$weldingDate = Carbon::parse($rtLog->welding_date); // Karşılaştırılacak tarih
|
||
|
||
if ($weldingDate->isYesterday()) {
|
||
$todayNotAcceptedJoint[$welderId]++;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$query = db("naks_welders")->orderBy("id","DESC")
|
||
->select(
|
||
DB::raw("1 AS num"),
|
||
"welder_name_ru",
|
||
"company",
|
||
"status",
|
||
"welder_id",
|
||
/*
|
||
DB::raw("(SELECT SUM(nps_1) FROM weld_logs WHERE weld_logs.real_welder_1 = naks_welders.welder_id) AS total_welder_wdi"),
|
||
DB::raw("(SELECT COUNT(nps_1) FROM weld_logs WHERE weld_logs.real_welder_1 = naks_welders.welder_id) AS total_welder_joint"),
|
||
DB::raw("(SELECT SUM(nps_1) FROM weld_logs WHERE weld_logs.real_welder_1 = naks_welders.welder_id AND DATE(welding_date) = CURRENT_DATE()) AS today_total_welder_wdi"),
|
||
DB::raw("(SELECT COUNT(nps_1) FROM weld_logs WHERE weld_logs.real_welder_1 = naks_welders.welder_id AND DATE(welding_date) = CURRENT_DATE()) AS today_total_welder_joint"),
|
||
*/
|
||
)
|
||
->whereIn("welder_id", $weldlogWelders)
|
||
|
||
->groupBy("welder_id")
|
||
->get();
|
||
|
||
$k = 0;
|
||
foreach($query AS $q) {
|
||
$k++;
|
||
$q->num = $k;
|
||
|
||
$q->total_welder_wdi = isset($totalWelderWdi[$q->welder_id]) ? round($totalWelderWdi[$q->welder_id], 2) : 0;
|
||
|
||
$q->total_welder_joint = isset($totalWelderJoint[$q->welder_id]) ? round($totalWelderJoint[$q->welder_id], 2) : 0;
|
||
|
||
$q->today_total_welder_wdi = isset($todayTotalWelderWdi[$q->welder_id]) ? round($todayTotalWelderWdi[$q->welder_id], 2) : 0;
|
||
|
||
$q->today_total_welder_joint = isset($todayTotalWelderJoint[$q->welder_id]) ? round($todayTotalWelderJoint[$q->welder_id], 2) : 0;
|
||
|
||
$q->total_examined_joint = isset($totalExaminedJoint[$q->welder_id]) ? round($totalExaminedJoint[$q->welder_id], 2) : 0;
|
||
|
||
$q->total_accepted_joint = isset($totalAcceptedJoint[$q->welder_id]) ? round($totalAcceptedJoint[$q->welder_id], 2) : 0;
|
||
|
||
$q->total_not_accepted_joint = isset($totalNotAcceptedJoint[$q->welder_id]) ? round($totalNotAcceptedJoint[$q->welder_id], 2) : 0;
|
||
|
||
try {
|
||
$q->repair_rate = round($q->total_not_accepted_joint * 100 / $q->total_examined_joint,2);
|
||
} catch (\Throwable $th) {
|
||
$q->repair_rate = 0;
|
||
}
|
||
|
||
if(isset($dailyAverage[$q->welder_id])) {
|
||
$q->daily_average = $dailyAverage[$q->welder_id];
|
||
} else {
|
||
$q->daily_average = 0;
|
||
}
|
||
|
||
if(isset($dailyShopAverage[$q->welder_id])) {
|
||
$q->daily_shop_average = $dailyShopAverage[$q->welder_id];
|
||
} else {
|
||
$q->daily_shop_average = 0;
|
||
}
|
||
|
||
if(isset($dailyFieldAverage[$q->welder_id])) {
|
||
$q->daily_field_average = $dailyFieldAverage[$q->welder_id];
|
||
} else {
|
||
$q->daily_field_average = 0;
|
||
}
|
||
|
||
if(isset($todayNotAcceptedJoint[$q->welder_id])) {
|
||
$q->today_not_acc_joint = $todayNotAcceptedJoint[$q->welder_id];
|
||
} else {
|
||
$q->today_not_acc_joint = 0;
|
||
}
|
||
}
|
||
|
||
$json = json_encode_tr($query);
|
||
$json = str_replace("_", " ", $json);
|
||
echo $json;
|
||
|
||
?>
|