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
|
* Database constants
|
||||||
*/
|
*/
|
||||||
private const DB_TABLE = 'IST77.VW_CMS_VCARD';
|
private const DB_TABLE = 'IST77.CMS_VCARD';
|
||||||
private const BATCH_SIZE = 100;
|
private const BATCH_SIZE = 1000;
|
||||||
private const MAX_EXECUTION_TIME = 86400; // 24 jam dalam detik
|
private const MAX_EXECUTION_TIME = 86400; // 24 jam dalam detik
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,6 +74,8 @@ class BiayaKartu implements ShouldQueue
|
|||||||
{
|
{
|
||||||
return DB::connection('oracle')
|
return DB::connection('oracle')
|
||||||
->table(self::DB_TABLE)
|
->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)
|
->where('crsts', 1)
|
||||||
->whereNotNull('ACCFLAG')
|
->whereNotNull('ACCFLAG')
|
||||||
->where('ACCFLAG', '>', 0)
|
->where('ACCFLAG', '>', 0)
|
||||||
|
|||||||
@@ -76,7 +76,15 @@
|
|||||||
: array
|
: array
|
||||||
{
|
{
|
||||||
$cards = $this->getEligibleAtmCards();
|
$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+');
|
$handle = fopen($filename, 'w+');
|
||||||
if (!$handle) {
|
if (!$handle) {
|
||||||
|
|||||||
Reference in New Issue
Block a user