38 lines
1.0 KiB
PHP
38 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Enums\StockOpnameStatus;
|
|
use App\Models\StockOpname;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class SetStockOpnameToProcess extends Command
|
|
{
|
|
protected $signature = 'stock-opname:set-to-process';
|
|
|
|
protected $description = 'Change stock opname status to Process on the 25th';
|
|
|
|
public function handle()
|
|
{
|
|
$periodMonth = now()->format('Y-m');
|
|
|
|
$stockOpnames = StockOpname::where('period_month', $periodMonth)->get();
|
|
|
|
if ($stockOpnames->isEmpty()) {
|
|
$this->info("Tidak ada stock opname untuk bulan {$periodMonth}.");
|
|
|
|
return;
|
|
}
|
|
|
|
DB::transaction(function () use ($stockOpnames) {
|
|
foreach ($stockOpnames as $stockOpname) {
|
|
$stockOpname->status = StockOpnameStatus::PROCESS;
|
|
$stockOpname->save();
|
|
}
|
|
});
|
|
|
|
$this->info("Status stock opname untuk bulan {$periodMonth} berhasil diubah menjadi Proses.");
|
|
}
|
|
}
|