refactor(migrasi): ubah logika pengolahan folder periode dan data di SFTP

- Nonaktifkan penggunaan SFTP disk untuk mendapatkan daftar folder periode.
- Gantikan `allDirectories` dengan daftar hardcoded periode langsung di kode.
- Tambahkan daftar periode berupa array statis untuk menggantikan logika filter otomatis.
- Ubah proses iterasi data:
  - Nonaktifkan pemanggilan metode `ProcessCategoryData` dan `ProcessCompanyData`.
  - Aktifkan pemanggilan metode `processAccountData` untuk setiap periode.
  - Nonaktifkan proses data lainnya seperti `processCustomerData`, `ProcessTellerData`, dan `ProcessAtmTransaction`.
- Pastikan response JSON tetap konsisten dengan hasil dan status HTTP.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
Daeng Deni Mardaeni
2025-05-23 19:57:39 +07:00
parent 59d186e3b5
commit ac6d139b4a

View File

@@ -175,10 +175,10 @@ class MigrasiController extends Controller
public function index()
{
$disk = Storage::disk('sftpStatement');
//$disk = Storage::disk('sftpStatement');
// Get all directories (periods) in the SFTP disk
$allDirectories = $disk->directories();
//$allDirectories = $disk->directories();
//$this->processTransactionData(['_parameter']);
//$this->processStmtNarrParamData(['_parameter']);
@@ -186,9 +186,24 @@ class MigrasiController extends Controller
//$this->ProcessFtTxnTypeConditioData(['_parameter']);
// Filter out the _parameter folder
$periods = array_filter($allDirectories, function($dir) {
/*$periods = array_filter($allDirectories, function($dir) {
return $dir !== '_parameter';
});
});*/
$periods = [
'20250510',
'20250512',
'20250513',
'20250514',
'20250515',
'20250516',
'20250517',
'20250518',
'20250519',
//'20250520',
//'20250521',
//'20250522'
];
// Sort periods by date (descending)
usort($periods, function($a, $b) {
@@ -199,21 +214,22 @@ class MigrasiController extends Controller
return response()->json(['message' => 'No valid period folders found in SFTP storage'], 404);
}
$this->ProcessCategoryData($periods);
foreach($periods as $period){
//$this->ProcessCategoryData($period);
//$this->ProcessCompanyData($period);
//$this->processCustomerData($periods);
//$this->processAccountData($periods);
//$this->processStmtEntryData($periods);
//$this->ProcessDataCaptureData($periods);
//$this->processFundsTransferData($periods);
$this->ProcessTellerData($periods);
$this->ProcessAtmTransaction($periods);
//$this->processArrangementData($periods);
//$this->processBillDetailData($periods);
//$this->processCustomerData($period);
$this->processAccountData($period);
//$this->processStmtEntryData($period);
//$this->ProcessDataCaptureData($period);
//$this->processFundsTransferData($period);
//$this->ProcessTellerData($period);
//$this->ProcessAtmTransaction($period);
//$this->processArrangementData($period);
//$this->processBillDetailData($period);
}
return response()->json(['message' => 'Data processing job has been successfully']);
}