From 478ae96df184cff6bacf6f62e651a7bff2a30ce0 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Thu, 24 Sep 2026 11:31:20 +0530 Subject: [PATCH] Changed logic in production target plan --- app/Livewire/ProductionTargetPlan.php | 73 +++++++++++++++++++-------- 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/app/Livewire/ProductionTargetPlan.php b/app/Livewire/ProductionTargetPlan.php index c19ce9d..cca36b9 100644 --- a/app/Livewire/ProductionTargetPlan.php +++ b/app/Livewire/ProductionTargetPlan.php @@ -222,28 +222,59 @@ class ProductionTargetPlan extends Component $this->leaveDates = $leaveDates; + // $producedData = QualityValidation::selectRaw(" + // plant_id, + // line_id, + // sticker_master_id, + // DATE(created_at) as prod_date, + // COUNT(*) as total_qty + // ") + // ->where('plant_id', $plantId) + // ->where('line_id', $lineId) + // ->whereMonth('created_at', $month) + // ->whereYear('created_at', $year) + // ->when($category, function ($query) use ($category) { + // $query->whereHas('item', function ($q) use ($category) { + // $q->where('category', $category); + // }); + // }) + // ->groupBy('plant_id', 'line_id', 'sticker_master_id', DB::raw('DATE(created_at)')) + // ->get() + // ->groupBy(fn($row) => + // $row->plant_id . '_' . $row->line_id . '_' . $row->item_id + // ) + // ->map(fn($group) => $group->keyBy('prod_date')); + $producedData = QualityValidation::selectRaw(" - plant_id, - line_id, - item_id, - DATE(created_at) as prod_date, - COUNT(*) as total_qty - ") - ->where('plant_id', $plantId) - ->where('line_id', $lineId) - ->whereMonth('created_at', $month) - ->whereYear('created_at', $year) - ->when($category, function ($query) use ($category) { - $query->whereHas('item', function ($q) use ($category) { - $q->where('category', $category); - }); - }) - ->groupBy('plant_id', 'line_id', 'item_id', DB::raw('DATE(created_at)')) - ->get() - ->groupBy(fn($row) => - $row->plant_id . '_' . $row->line_id . '_' . $row->item_id - ) - ->map(fn($group) => $group->keyBy('prod_date')); + quality_validations.plant_id, + quality_validations.line_id, + quality_validations.sticker_master_id, + sticker_masters.item_id, + DATE(quality_validations.created_at) as prod_date, + COUNT(*) as total_qty + ") + ->join('sticker_masters', 'sticker_masters.id', '=', 'quality_validations.sticker_master_id') + ->where('quality_validations.plant_id', $plantId) + ->where('quality_validations.line_id', $lineId) + ->whereMonth('quality_validations.created_at', $month) + ->whereYear('quality_validations.created_at', $year) + ->when($category, function ($query) use ($category) { + $query->whereHas('item', function ($q) use ($category) { + $q->where('category', $category); + }); + }) + ->groupBy( + 'quality_validations.plant_id', + 'quality_validations.line_id', + 'quality_validations.sticker_master_id', + 'sticker_masters.item_id', + DB::raw('DATE(quality_validations.created_at)') + ) + ->get() + ->groupBy(fn($row) => + $row->plant_id . '_' . $row->line_id . '_' . $row->item_id + ) + ->map(fn($group) => $group->keyBy('prod_date')); $records = [];