Changed logic in cycle count page and added stock count in export page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled

This commit is contained in:
dhanabalan
2026-03-11 13:02:18 +05:30
parent 0b5b0b8dd4
commit 41d158877e
3 changed files with 341 additions and 59 deletions

View File

@@ -60,8 +60,61 @@ class StockDataMasterExporter extends Exporter
->label('PANEL BOX SNO'),
ExportColumn::make('scanned_status')
->label('SCANNED STATUS'),
ExportColumn::make('scanned_count')
->label('SCANNED COUNT'),
ExportColumn::make('scanned_quantity')
->label('SCANNED QUANTITY'),
ExportColumn::make('system_stock')
->label('SYSTEM STOCK')
->state(fn ($record) => $record->quantity),
ExportColumn::make('scanned_stock')
->label('SCANNED STOCK')
->state(fn ($record) => $record->scanned_quantity),
ExportColumn::make('duplicate_stock')
->label('DUPLICATE STOCK')
->state(function ($record) {
return \App\Models\DuplicateStock::where('stock_data_master_id', $record->id)->count();
}),
ExportColumn::make('not_in_stock')
->label('NOT IN STOCK')
->state(function ($record) {
return \App\Models\NotInStock::where('serial_number', $record->serial_number)
->where('plant_id', $record->plant_id)
->count();
}),
ExportColumn::make('physical_stock')
->label('PHYSICAL STOCK')
->state(function ($record) {
$duplicate = \App\Models\DuplicateStock::where('stock_data_master_id', $record->id)->count();
$notInStock = \App\Models\NotInStock::where('serial_number', $record->serial_number)
->where('plant_id', $record->plant_id)
->count();
$scanned = $record->scanned_quantity ?? 0;
return $scanned + $duplicate + $notInStock;
}),
ExportColumn::make('stock_difference')
->label('STOCK DIFFERENCE COUNT')
->state(function ($record) {
$duplicate = \App\Models\DuplicateStock::where('stock_data_master_id', $record->id)->count();
$notInStock = \App\Models\NotInStock::where('serial_number', $record->serial_number)
->where('plant_id', $record->plant_id)
->count();
$scanned = (int) $record->scanned_quantity;
$physicalStock = $scanned + $duplicate + $notInStock;
$systemStock = (int) $record->quantity;
$difference = $physicalStock - $systemStock;
return max($difference, 0);
}),
ExportColumn::make('created_at')
->label('CREATED AT'),
ExportColumn::make('updated_at')