Added category in production target page and added in livewire table
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 12s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 19s
Laravel Pint / pint (pull_request) Successful in 4m2s
Laravel Larastan / larastan (pull_request) Failing after 5m16s
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 12s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 19s
Laravel Pint / pint (pull_request) Successful in 4m2s
Laravel Larastan / larastan (pull_request) Failing after 5m16s
This commit is contained in:
@@ -26,6 +26,7 @@ class ProductionTargetPlan extends Component
|
||||
|
||||
protected $listeners = [
|
||||
'loadData' => 'loadProductionData',
|
||||
'loadCategoryData' => 'loadProductionDataCategory',
|
||||
'loadData1' => 'exportProductionData',
|
||||
];
|
||||
|
||||
@@ -175,7 +176,7 @@ class ProductionTargetPlan extends Component
|
||||
|
||||
|
||||
|
||||
public function loadProductionData($plantId, $lineId, $month, $year)
|
||||
public function loadProductionData($year, $month, $plantId, $lineId, $category)
|
||||
{
|
||||
if (!$plantId || !$lineId || !$month || !$year) {
|
||||
$this->records = [];
|
||||
@@ -195,6 +196,9 @@ class ProductionTargetPlan extends Component
|
||||
->where('production_plans.line_id', $lineId)
|
||||
->whereMonth('production_plans.created_at', $month)
|
||||
->whereYear('production_plans.created_at', $year)
|
||||
->when($category, function ($query) use ($category) {
|
||||
$query->where('items.category', $category);
|
||||
})
|
||||
->select(
|
||||
'production_plans.item_id',
|
||||
'production_plans.plant_id',
|
||||
@@ -203,6 +207,7 @@ class ProductionTargetPlan extends Component
|
||||
'production_plans.working_days',
|
||||
'production_plans.leave_dates',
|
||||
'items.code as item_code',
|
||||
'items.category as category',
|
||||
'items.description as item_description',
|
||||
'lines.name as line_name',
|
||||
'lines.line_capacity as line_capacity',
|
||||
@@ -229,6 +234,11 @@ class ProductionTargetPlan extends Component
|
||||
->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) =>
|
||||
@@ -249,7 +259,7 @@ class ProductionTargetPlan extends Component
|
||||
$lineCapacity = (float) ($row['line_capacity'] ?? 0);
|
||||
$dailyLineCapacity = (float) ($row['line_capacity'] ?? 0);
|
||||
|
||||
|
||||
$row['category'] = $row['category'] ?? '-';
|
||||
$row['daily_line_capacity'] = [];
|
||||
$row['daily_target_dynamic'] = [];
|
||||
$row['produced_quantity'] = [];
|
||||
@@ -291,6 +301,122 @@ class ProductionTargetPlan extends Component
|
||||
}
|
||||
|
||||
|
||||
// public function loadProductionDataCategory($year, $month, $plantId, $lineId, $category)
|
||||
// {
|
||||
// if (!$plantId || !$lineId || !$month || !$year || !$category) {
|
||||
// $this->records = [];
|
||||
// $this->dates = [];
|
||||
// $this->leaveDates = [];
|
||||
// return;
|
||||
// }
|
||||
|
||||
// $dates = $this->getMonthDates($month, $year);
|
||||
// $this->dates = $dates;
|
||||
|
||||
// $plans = ProductionPlan::query()
|
||||
// ->join('items', 'items.id', '=', 'production_plans.item_id')
|
||||
// ->join('lines', 'lines.id', '=', 'production_plans.line_id')
|
||||
// ->join('plants', 'plants.id', '=', 'production_plans.plant_id')
|
||||
// ->where('production_plans.plant_id', $plantId)
|
||||
// ->where('production_plans.line_id', $lineId)
|
||||
// ->whereMonth('production_plans.created_at', $month)
|
||||
// ->whereYear('production_plans.created_at', $year)
|
||||
// ->select(
|
||||
// 'production_plans.item_id',
|
||||
// 'production_plans.plant_id',
|
||||
// 'production_plans.line_id',
|
||||
// 'production_plans.plan_quantity',
|
||||
// 'production_plans.working_days',
|
||||
// 'production_plans.leave_dates',
|
||||
// 'items.code as item_code',
|
||||
// 'items.description as item_description',
|
||||
// 'lines.name as line_name',
|
||||
// 'lines.line_capacity as line_capacity',
|
||||
// 'plants.name as plant_name'
|
||||
// )
|
||||
// ->get();
|
||||
|
||||
// $leaveDates = [];
|
||||
|
||||
// if ($plans->isNotEmpty() && $plans[0]->leave_dates) {
|
||||
// $leaveDates = array_map('trim', explode(',', $plans[0]->leave_dates));
|
||||
// }
|
||||
|
||||
// $this->leaveDates = $leaveDates;
|
||||
|
||||
// $producedData = ProductionQuantity::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)
|
||||
// ->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'));
|
||||
|
||||
|
||||
// $records = [];
|
||||
|
||||
// foreach ($plans as $plan) {
|
||||
|
||||
// $row = $plan->toArray();
|
||||
|
||||
// $remainingQty = (float) $row['plan_quantity'];
|
||||
// $remainingDays = (int) ($row['working_days'] ?? 0);
|
||||
|
||||
// $lineCapacity = (float) ($row['line_capacity'] ?? 0);
|
||||
// $dailyLineCapacity = (float) ($row['line_capacity'] ?? 0);
|
||||
|
||||
|
||||
// $row['daily_line_capacity'] = [];
|
||||
// $row['daily_target_dynamic'] = [];
|
||||
// $row['produced_quantity'] = [];
|
||||
|
||||
// $key = $row['plant_id'].'_'.$row['line_id'].'_'.$row['item_id'];
|
||||
|
||||
// foreach ($dates as $date) {
|
||||
|
||||
// // Skip leave dates fast
|
||||
// if (isset($leaveDates) && in_array($date, $leaveDates)) {
|
||||
// $row['daily_line_capacity'][$date] = '-';
|
||||
// $row['daily_target_dynamic'][$date] = '-';
|
||||
// $row['produced_quantity'][$date] = '-';
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// $todayTarget = $remainingDays > 0
|
||||
// ? round($remainingQty / $remainingDays, 2)
|
||||
// : 0;
|
||||
|
||||
// $producedQty = $producedData[$key][$date]->total_qty ?? 0;
|
||||
|
||||
// $row['daily_target_dynamic'][$date] = $todayTarget;
|
||||
// $row['produced_quantity'][$date] = $producedQty;
|
||||
// $row['daily_line_capacity'][$date] = $dailyLineCapacity;
|
||||
|
||||
// // Carry forward remaining qty
|
||||
// $remainingQty = max(0, $remainingQty - $producedQty);
|
||||
|
||||
// if ($remainingDays > 0) {
|
||||
// $remainingDays--;
|
||||
// }
|
||||
// }
|
||||
|
||||
// $records[] = $row;
|
||||
// }
|
||||
|
||||
// $this->records = $records;
|
||||
// }
|
||||
|
||||
|
||||
public function exportProductionData()
|
||||
{
|
||||
return Excel::download(
|
||||
|
||||
Reference in New Issue
Block a user