<?php
/**
 * Created by PhpStorm.
 * User: sunil
 * Date: 9/29/18
 * Time: 4:30 PM
 */

namespace App\Console\Commands;


use App\ConsumerApplicationElement;
use Carbon\Carbon;
use Illuminate\Console\Command;

class POSDaily extends Command
{

    protected $signature = 'pos:daily';


    public function __construct(){
        parent::__construct();
    }


    public function handle(){
        $created_at = Carbon::now()->toDateTimeString();

        ConsumerApplicationElement::select('application_id','amount_over_due','total_amount_due')
        ->whereHas('application', function ($q) {
            $q->whereIn('state', ['disbursed', 'nach registered']);
        })->chunk(1000, function ($applications) use ($created_at) {
                foreach ($applications as $application) {
                    if($application->amount_over_due && $application->total_amount_due) {
                        \App\PosDaily::insert([
                            'application_id' => $application->application_id,
                            'amount_over_due' => $application->amount_over_due,
                            'total_amount_due' => $application->total_amount_due,
                            'created_at' => $created_at,
                        ]);
                    }
                }
            });
    }
}