fix share text to app and handle copy to clipboard daily report mechanic

This commit is contained in:
2025-07-11 16:31:37 +07:00
parent e3956ae0e4
commit 0b1589d173
2 changed files with 263 additions and 37 deletions

View File

@@ -117,22 +117,43 @@ class TransactionController extends Controller
->where('sa.dealer_id', Auth::user()->dealer_id)
->where('work_id', $work->id)
->whereDate('transactions.date', '=', date('Y-m-d'))->groupBy('transactions.user_sa_id')->get();
// Initialize data array for this work
$tm1[$work['shortname']]['data'] = [];
$daily_total = 0;
foreach($transaction_sas as $sa) {
$tm1[$work['shortname']]['data'][] = $sa['sa_name'].":".$sa['qty'];
$daily_total += $sa['qty'];
}
$month_share_data = Transaction::select(DB::raw('SUM(qty) as qty'), 'u.name')->join('users AS u', 'u.id', '=', 'transactions.user_sa_id')->where('transactions.dealer_id', Auth::user()->dealer->id)->whereMonth('date', date('m'))->whereYear('date', date('Y'))->where('work_id', $work->id)->groupBy('user_sa_id')->get();
$tm1[$work['shortname']]['total_title'] = "*[PERIODE 1 - ". Carbon::now()->translatedFormat('d F Y') ."]*\n\n";
$sum_month_share_trx = 0;
$tm_month = [];
foreach($month_share_data as $m_trx) {
$tm_month[] = $m_trx->name.":".$m_trx->qty." Unit\n";
$sum_month_share_trx += $m_trx->qty;
// Add daily total even if no data
if (empty($tm1[$work['shortname']]['data'])) {
$tm1[$work['shortname']]['data'][] = "Tidak ada data:0";
}
// Remove monthly data section since this is daily report
// $month_share_data = Transaction::select(DB::raw('SUM(qty) as qty'), 'u.name')
// ->join('users AS u', 'u.id', '=', 'transactions.user_sa_id')
// ->where('transactions.dealer_id', Auth::user()->dealer->id)
// ->whereMonth('date', date('m'))
// ->whereYear('date', date('Y'))
// ->where('work_id', $work->id)
// ->groupBy('user_sa_id')
// ->get();
// Remove the period title since this is for daily report, not monthly
// $tm1[$work['shortname']]['total_title'] = "*[PERIODE 1 - ". Carbon::now()->translatedFormat('d F Y') ."]*\n\n";
$tm1[$work['shortname']]['total_body'] = $tm_month;
$tm1[$work['shortname']]['total_total'] = "*TOTAL : ". $sum_month_share_trx." Unit*";
// $sum_month_share_trx = 0;
// $tm_month = [];
// foreach($month_share_data as $m_trx) {
// $tm_month[] = $m_trx->name.":".$m_trx->qty." Unit\n";
// $sum_month_share_trx += $m_trx->qty;
// }
// $tm1[$work['shortname']]['total_body'] = $tm_month;
// $tm1[$work['shortname']]['total_total'] = "*TOTAL : ". $sum_month_share_trx." Unit*";
}
if(isset($request->date_start)) {
@@ -156,7 +177,29 @@ class TransactionController extends Controller
$sas = User::where('role_id', 4)->get();
$dealers = Dealer::all();
$works = Work::all();
return view('transaction.lists', compact('transaction_dealers', 'transaction_mechanics', 'mechanic', 'sas', 'dealers', 'works', 'date_start', 'date_end'));
// Get KPI data for current user using KPI service
$kpiService = app(\App\Services\KpiService::class);
// Auto-calculate current month KPI achievement including claimed transactions
$kpiService->calculateKpiAchievementWithClaims(Auth::user());
$kpiSummary = $kpiService->getKpiSummaryWithClaims(Auth::user());
// Get current month period name
$currentMonthName = now()->translatedFormat('F Y');
$kpiData = [
'target' => $kpiSummary['current_target'] ? $kpiSummary['current_target']->target_value : 0,
'actual' => $kpiSummary['current_achievement'] ? $kpiSummary['current_achievement']->actual_value : 0,
'percentage' => $kpiSummary['current_percentage'],
'status' => $kpiSummary['current_achievement'] ? $kpiSummary['current_achievement']->status : 'pending',
'status_color' => $kpiSummary['current_achievement'] ? $kpiSummary['current_achievement']->status_color : 'secondary',
'period' => $currentMonthName,
'has_target' => $kpiSummary['current_target'] ? true : false
];
return view('transaction.lists', compact('transaction_dealers', 'transaction_mechanics', 'mechanic', 'sas', 'dealers', 'works', 'date_start', 'date_end', 'kpiData'));
}
public function cmp($a, $b){