feat(webstatement): improve CSV generation and database handling
- Tambahkan date-time pada penamaan file CSV untuk meningkatkan traceability. - Perubahan konstanta nama tabel database dari 'IST77.VW_CMS_VCARD' menjadi 'IST77.CMS_VCARD'. - Ubah nilai batch size dari 100 menjadi 1000 untuk meningkatkan efisiensi proses. - Tambahkan join dengan tabel 'IST77.CMS_VCARDTYP' untuk mendapatkan data tambahan pada query database. - Tambahkan select fields yang lebih lengkap pada query database untuk kebutuhan data yang lebih spesifik. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -19,8 +19,8 @@ class BiayaKartu implements ShouldQueue
|
||||
/**
|
||||
* Database constants
|
||||
*/
|
||||
private const DB_TABLE = 'IST77.VW_CMS_VCARD';
|
||||
private const BATCH_SIZE = 100;
|
||||
private const DB_TABLE = 'IST77.CMS_VCARD';
|
||||
private const BATCH_SIZE = 1000;
|
||||
private const MAX_EXECUTION_TIME = 86400; // 24 jam dalam detik
|
||||
|
||||
/**
|
||||
@@ -74,6 +74,8 @@ class BiayaKartu implements ShouldQueue
|
||||
{
|
||||
return DB::connection('oracle')
|
||||
->table(self::DB_TABLE)
|
||||
->select('CRDNO', 'ACCFLAG', 'CRACC1', 'CRACC2', 'CRACC3', 'CRACC4', 'CRACC5', 'CRACCNAM1', 'CRACCNAM2', 'CRACCNAM3', 'CRACCNAM4', 'CRACCNAM5', 'CRSTS','CTTYPE','CTDESC','CRDATE','LAST_UPDATE')
|
||||
->join('IST77.CMS_VCARDTYP', 'IST77.CMS_VCARD.CRTYPE', '=','IST77.CMS_VCARD.CTTYPE')
|
||||
->where('crsts', 1)
|
||||
->whereNotNull('ACCFLAG')
|
||||
->where('ACCFLAG', '>', 0)
|
||||
|
||||
@@ -76,7 +76,15 @@
|
||||
: array
|
||||
{
|
||||
$cards = $this->getEligibleAtmCards();
|
||||
$filename = storage_path('app/' . $this->csvFilename);
|
||||
//$filename = storage_path('app/' . $this->csvFilename);
|
||||
|
||||
// Add date-time to filename
|
||||
$dateTime = now()->format('Ymd_Hi');
|
||||
$filenameWithDate = pathinfo($this->csvFilename, PATHINFO_FILENAME) .
|
||||
'_' . $dateTime . '.' .
|
||||
pathinfo($this->csvFilename, PATHINFO_EXTENSION);
|
||||
|
||||
$filename = storage_path('app/' . $filenameWithDate);
|
||||
|
||||
$handle = fopen($filename, 'w+');
|
||||
if (!$handle) {
|
||||
|
||||
Reference in New Issue
Block a user