- Menambahkan job baru `ProcessTellerDataJob` untuk memproses data teller dari file CSV. - Membuat controller method `ProcessTellerData` di `MigrasiController` untuk dispatch job `ProcessTellerDataJob`. - Menambahkan model baru `Teller` yang merepresentasikan data teller dengan kolom sesuai header map pada CSV. - Menambahkan migrasi `2025_05_21_144332_create_tellers_table.php` untuk membuat tabel database `tellers` dengan struktur data lengkap. - Menambahkan logika pada job untuk membaca, memproses, dan menyimpan data CSV ke dalam database. - Menyediakan mekanisme pemrosesan file CSV termasuk: - Validasi jumlah kolom pada CSV jika tidak sesuai dengan header. - Membuat dan menghapus file sementara selama pemrosesan. - Mapping data CSV ke atribut model `Teller`. - Penanganan error saat menyimpan data ke model `Teller`. - Logging proses meliputi jumlah data yang diproses dan error selama jalannya job. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
118 lines
3.0 KiB
PHP
118 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace Modules\Webstatement\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
|
|
class Teller extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $fillable = [
|
|
'id_teller',
|
|
'account_1',
|
|
'currency_1',
|
|
'amount_local_1',
|
|
'value_date_1',
|
|
'account_2',
|
|
'new_cust_bal',
|
|
'term_type',
|
|
'term_id',
|
|
'trans_reff',
|
|
'card_no',
|
|
'recipt_no',
|
|
'transaction_code',
|
|
'date_time',
|
|
'record_status',
|
|
'amount_local_2',
|
|
'co_code',
|
|
'narrative_1',
|
|
'wic_flag',
|
|
'wic_cust_type',
|
|
'wic_full_name',
|
|
'wic_alias_name',
|
|
'wic_acct_no',
|
|
'wic_id_type',
|
|
'wic_id_no',
|
|
'wic_npwp',
|
|
'wic_nationality',
|
|
'wic_ind_birthpl',
|
|
'wic_ind_birthdt',
|
|
'wic_address_id',
|
|
'wic_address_cur',
|
|
'wic_city',
|
|
'wic_province',
|
|
'wic_post_code',
|
|
'wic_phone',
|
|
'wic_gender',
|
|
'wic_marital_sts',
|
|
'wic_occptn',
|
|
'wic_occptn_dur',
|
|
'wic_income_avg',
|
|
'wic_cor_name',
|
|
'wic_cor_address',
|
|
'wic_cor_phone',
|
|
'wic_cor_lgl_typ',
|
|
'wic_cor_lic_no',
|
|
'wic_cor_birthpl',
|
|
'wic_cor_birthdt',
|
|
'wic_cor_rel',
|
|
'wic_party_rel',
|
|
'wic_amount',
|
|
'wic_amount_type',
|
|
'wic_amtbnk_name',
|
|
'wic_amtbnk_cunm',
|
|
'wic_fund_source',
|
|
'wic_fund_use',
|
|
'dr_cr_marker',
|
|
'charge_code',
|
|
'chrg_amt_local',
|
|
'charge_category',
|
|
'charge_account',
|
|
'amount_fcy_1',
|
|
'rate_1',
|
|
'deal_rate',
|
|
'l_wic_id',
|
|
'account_1_co_code',
|
|
'account_2_co_code',
|
|
'l_charge_amt',
|
|
'bl_cust_no',
|
|
'stmt_no',
|
|
'bil_customer',
|
|
'value_date_2',
|
|
'cheq_type',
|
|
'cheque_number',
|
|
'inputter',
|
|
'authoriser',
|
|
'bil_product',
|
|
'fx_document',
|
|
'fx_purpose',
|
|
'narrative_2',
|
|
'customer_2',
|
|
'l_sms_1',
|
|
'l_phone_1',
|
|
'kyc_incom_rng',
|
|
'wic_rt',
|
|
'wic_rw',
|
|
'ktp_kelurahan',
|
|
'ktp_kecamatan',
|
|
'ktp_provinsi',
|
|
'wic_jenis_kelam',
|
|
'kyc_sumber_dana',
|
|
'l_manual_risk',
|
|
'l_slip_no',
|
|
'dest_bank_id',
|
|
'dr_narrative',
|
|
'inter_type',
|
|
'l_va_number',
|
|
'inter_bank_id',
|
|
'term_narr',
|
|
'currency_2',
|
|
'amount_fcy_2',
|
|
'rate_2',
|
|
'customer_1',
|
|
'last_version'
|
|
];
|
|
}
|