feat(webstatement): tambahkan fitur pemrosesan data sektor dan parameter pada migrasi harian
- Menambahkan opsi baru `--process_parameter` pada command `webstatement:process-daily-migration`. - Memungkinkan pengguna untuk menentukan parameter proses migrasi seperti tanggal (`date`) dan tipe (`type`). - Menambahkan logging tambahan untuk mencatat nilai parameter yang diproviding pengguna. - Memperbarui logika command dan controller: - Mengirimkan parameter `date` dan `type` ke controller untuk mendukung proses migrasi dengan parameter yang lebih spesifik. - Menambahkan proses migrasi baru untuk data sektor: - Membuat job `ProcessSectorDataJob` yang bertugas membaca file CSV terkait sektor dari SFTP. - Melakukan validasi keberadaan file, memproses tiap baris data, dan menyimpannya ke database jika valid. - Logging untuk setiap aktivitas proses sektor, termasuk error dan kesuksesan per baris. - Membuat model `Sector` untuk mendukung operasi database data sektor: - Menambah atribut dapat diolah (`fillable`) seperti `sector_code`, `co_code`, `description`, dll. - Menambahkan cast `date_time` ke tipe datetime. - Menambahkan migrasi baru untuk tabel `sectors`: - Tabel memiliki kolom seperti `id`, `date_time`, `description`, `curr_no`, `co_code`, dan `sector_code`. - Meningkatkan pendukung penyimpanan data sektor untuk migrasi masa depan. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -13,7 +13,8 @@
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'webstatement:process-daily-migration';
|
||||
protected $signature = 'webstatement:process-daily-migration
|
||||
{--process_parameter= : To process migration parameter true/false}';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
@@ -29,11 +30,19 @@
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$date = $this->option('date');
|
||||
$type = $this->option('type');
|
||||
|
||||
$this->info('Starting daily data migration process...');
|
||||
$this->info('Date: ' . ($date ?? 'Not specified'));
|
||||
$this->info('Type: ' . ($type ?? 'Not specified'));
|
||||
|
||||
try {
|
||||
$controller = app(MigrasiController::class);
|
||||
$response = $controller->index();
|
||||
$response = $controller->index([
|
||||
'date' => $date,
|
||||
'type' => $type
|
||||
]);
|
||||
|
||||
$responseData = json_decode($response->getContent(), true);
|
||||
$this->info($responseData['message'] ?? 'Process completed');
|
||||
|
||||
Reference in New Issue
Block a user