<?php

namespace Database\Seeders;

use App\Models\Accounting\ChartOfAccount;
use Illuminate\Database\Seeder;

class ChartOfAccountSeeder extends Seeder
{

    // php artisan db:seed --class=ChartOfAccountSeeder
    public function run()
    {
        $chart_of_accounts = [
            ['id' => '1',  'type_of_acc_detail_id' => '1','chart_code' => '10001','chart_name' => 'Cash On Hand','status_type' => '1','desc' => 'សាច់ប្រាក់ក្នុងដៃ','payment' => '1'],
            ['id' => '2',  'type_of_acc_detail_id' => '1','chart_code' => '10002','chart_name' => 'Cash In Bank (ABA)','status_type' => '1','desc' => 'សាច់ប្រាក់ក្នុងធនាគារ (ABA)','payment' => '2'],
            ['id' => '3',  'type_of_acc_detail_id' => '1','chart_code' => '10003','chart_name' => 'Cash In Bank (ACLIDA)','status_type' => '1','desc' => 'សាច់ប្រាក់ក្នុងធនាគារ (ACLIDA)','payment' => '2'],
            ['id' => '4',  'type_of_acc_detail_id' => '1','chart_code' => '10004','chart_name' => 'Cash In Bank (Wing)','status_type' => '1','desc' => 'សាច់ប្រាក់ក្នុងធនាគារ (Wing)','payment' => '2'],
            ['id' => '5',  'type_of_acc_detail_id' => '1','chart_code' => '10005','chart_name' => 'Other Current Assets','status_type' => '1','desc' => 'ទ្រព្យសកម្មផ្សេងៗ','payment' => NULL],
            ['id' => '6',  'type_of_acc_detail_id' => '1','chart_code' => '10006','chart_name' => 'Loan Out Standing','status_type' => '1','desc' => 'ប្រាក់ដើមអតិថិជនជំពាក់​','payment' => NULL],
            ['id' => '7',  'type_of_acc_detail_id' => '2','chart_code' => '11000','chart_name' => 'OFFICE Equipment','status_type' => '1','desc' => 'ឧបករណ៍​ការិយាល័យ','payment' => NULL],
            ['id' => '8',  'type_of_acc_detail_id' => '2','chart_code' => '12000','chart_name' => 'Printer','status_type' => '1','desc' => 'ម៉ាសុីនព្រីន','payment' => NULL],
            ['id' => '9',  'type_of_acc_detail_id' => '2','chart_code' => '12001','chart_name' => 'Depreciation-Computer','status_type' => '1','desc' => 'រំលស់កុំព្យូទ័រ','payment' => NULL],
            ['id' => '10', 'type_of_acc_detail_id' => '3','chart_code' => '20001','chart_name' => 'Salary Payable','status_type' => '1','desc' => 'ការជំពាក់លើប្រាក់ខែមន្រ្តីឥណទាន','payment' => NULL],
            ['id' => '11', 'type_of_acc_detail_id' => '3','chart_code' => '20002','chart_name' => 'Unearned Revenues','status_type' => '1','desc' => 'ទឹកប្រាក់ទទួលបានពីអតិថិជនដែលមិនទាន់បានបំពេញសេវាកម្ម','payment' => NULL],
            ['id' => '12', 'type_of_acc_detail_id' => '3','chart_code' => '20003','chart_name' => 'Account Payable','status_type' => '1','desc' => 'សាច់ប្រាក់ដែលស្ថាប័នជំពាក់អ្នកផ្គត់ផ្គង់','payment' => NULL],
            ['id' => '13', 'type_of_acc_detail_id' => '3','chart_code' => '20004','chart_name' => 'Other Current Liabilities','status_type' => '1','desc' => 'បំណុលសកម្មផ្សេង','payment' => NULL],
            ['id' => '14', 'type_of_acc_detail_id' => '4','chart_code' => '30001','chart_name' => "Owner\'s Capital Contribution",'status_type' => '1','desc' => 'ដើមទុនម្ចាស់ភាគហ៊ុនដាក់បន្ថែម','payment' => NULL],
            ['id' => '15', 'type_of_acc_detail_id' => '4','chart_code' => '30002','chart_name' => 'Paid up Share Capital','status_type' => '1','desc' => 'ដើមទុនចុះបញ្ជី','payment' => NULL,],
            ['id' => '16', 'type_of_acc_detail_id' => '4','chart_code' => '30003','chart_name' => 'Dividend','status_type' => '1','desc' => 'បែងចែកភាគលាភ','payment' => NULL],
            ['id' => '17', 'type_of_acc_detail_id' => '4','chart_code' => '30004','chart_name' => 'Owner\'s Capital Drawing','status_type' => '1','desc' => 'ការដកដើមទុនរបស់ម្ចាស់ភាគហ៊ុន','payment' => NULL],
            ['id' => '18', 'type_of_acc_detail_id' => '5','chart_code' => '40001','chart_name' => 'Principal income','status_type' => '1','desc' => 'ចំណូលបានមកពីប្រាក់ដើម','payment' => NULL],
            ['id' => '19', 'type_of_acc_detail_id' => '5','chart_code' => '40002','chart_name' => 'Interest income','status_type' => '1','desc' => 'ចំណូលបានមកពីការប្រាក់','payment' => NULL],
            ['id' => '20', 'type_of_acc_detail_id' => '5','chart_code' => '40003','chart_name' => 'Risk service income','status_type' => '1','desc' => 'ចំណូលបានមកពីសេវាហានិភ័យ','payment' => NULL],
            ['id' => '21', 'type_of_acc_detail_id' => '5','chart_code' => '40004','chart_name' => 'Administrative service income','status_type' => '1','desc' => 'ចំណូលបានមកពីសេវារដ្ឋបាល','payment' => NULL],
            ['id' => '22', 'type_of_acc_detail_id' => '5','chart_code' => '40005','chart_name' => 'Security service income','status_type' => '1','desc' => 'ចំណូលបានមកពីសេវាសុវត្ថិភាព','payment' => NULL],
            ['id' => '23', 'type_of_acc_detail_id' => '5','chart_code' => '40006','chart_name' => 'Penalty income','status_type' => '1','desc' => 'ចំណូលបានមកពីប្រាក់ពិន័យ','payment' => NULL],
            ['id' => '24', 'type_of_acc_detail_id' => '5','chart_code' => '40007','chart_name' => 'Operating Services income','status_type' => '1','desc' => 'ចំណូលបានមកពីសេវាប្រតិបត្តិការ','payment' => NULL],
            ['id' => '25', 'type_of_acc_detail_id' => '5','chart_code' => '40008','chart_name' => 'Insurance income','status_type' => '1','desc' => 'ចំណូលបានមកពីសេវាធានារ៉ាប់រង','payment' => NULL],
            ['id' => '26', 'type_of_acc_detail_id' => '8','chart_code' => '50001','chart_name' => 'Loan Disbursed expense','status_type' => '1','desc' => 'ចំណាយលើប្រាក់កម្ចីទៅអោយអតិថិជន','payment' => NULL],
            ['id' => '27', 'type_of_acc_detail_id' => '8','chart_code' => '50002','chart_name' => 'Office Rental','status_type' => '1','desc' => 'ចំណាយលើការជួលការិយាល័យ','payment' => NULL],
            ['id' => '28', 'type_of_acc_detail_id' => '8','chart_code' => '50003','chart_name' => 'Utilities','status_type' => '1','desc' => 'ចំណាយលើការប្រើប្រាស់ទឹក ភ្លើង','payment' => NULL],
            ['id' => '29', 'type_of_acc_detail_id' => '8','chart_code' => '50004','chart_name' => 'Salary Expense','status_type' => '1','desc' => 'ចំណាយលើប្រាក់បៀវត្សន៍មន្រ្តីឥណទាន','payment' => NULL],
            ['id' => '30', 'type_of_acc_detail_id' => '8','chart_code' => '50005','chart_name' => 'Stationary Expense','status_type' => '1','desc' => 'ចំណាយលើសម្ភារៈការិយាល័យ','payment' => NULL],
            ['id' => '31', 'type_of_acc_detail_id' => '8','chart_code' => '50006','chart_name' => 'Maintenance','status_type' => '1','desc' => 'ចំណាយលើការថែទាំ និងជួសជុល','payment' => NULL],
            ['id' => '32', 'type_of_acc_detail_id' => '8','chart_code' => '50007','chart_name' => 'Travel Expense','status_type' => '1','desc' => 'ចំណាយលើមធ្យោបាយធ្វើដំណើរ','payment' => NULL],
            ['id' => '33', 'type_of_acc_detail_id' => '8','chart_code' => '50008','chart_name' => 'Other Operating Expense','status_type' => '1','desc' => 'ចំណាយប្រតិបត្តិការផ្សេងៗ','payment' => NULL],
        ];

        foreach ($chart_of_accounts as  $value) {
            ChartOfAccount::updateOrCreate(['id' => $value['id']],[
                'created_by' => 1,
                'chart_code' => $value['chart_code'],
                'chart_name' => $value['chart_name'],
                'payment'    => $value['payment'],
                'desc'       => $value['desc'],
                'type_of_acc_detail_id' => $value['type_of_acc_detail_id'],
            ]);
        }
    }
}
