/
home
/
sjslayjy
/
public_html
/
mosaram
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class BankController extends Controller { public function bankStatements1(Request $request){ // dd($request->all()); $data = array(); $data['banks'] = \App\BankAccount::where('is_active',1)->with('bank')->get(); $data['dealers'] = \App\Dealer::select('id', 'name', 'address1')->where('is_active', 1)->get(); $data['opening_balance'] = 0; $data['statements'] = []; if ($request->isMethod('post')){ // dd($request->all()); $validator = \Validator::make($request->all(), array( 'bank_id' => 'required', 'from_date' => 'required', 'to_date' => 'required', ) ); if($validator->fails()){ return redirect('user/bank-statements') ->withErrors($validator) ->withInput(); }else{ $bank_id = $request->bank_id; $from_date = $request->from_date; $to_date = $request->to_date; $open_date=date('Y-m-d', strtotime('-1 day', strtotime($from_date))); // $total_debit_query = \DB::table('bank_statements')->where('bank_id',$bank_id)->where('status','debit')->whereDate('transaction_date','<=',$open_date); // $total_credit_query = \DB::table('bank_statements')->where('bank_id',$bank_id)->where('status','credit')->whereDate('transaction_date','<=',$open_date); $statements_query = \DB::table('bank_statements')->where('bank_id',$bank_id)->whereBetween('transaction_date',[$from_date,$to_date])->orderBy('transaction_date','asc'); $statements_query1 = \DB::table('bank_statements')->where('bank_id',$bank_id)->whereBetween('transaction_date',[$from_date,$to_date])->orderBy('transaction_date','asc')->where('transfer_type', 2); $total_credit_debit_query= \DB::table('bank_statements')->where('bank_id',$bank_id)->whereDate('transaction_date','<=',$open_date); $total_credit_debit_query1= \DB::table('bank_statements')->where('bank_id',$bank_id)->whereDate('transaction_date','<=',$open_date)->where('transfer_type', 2); if($bank_id != '' && $request->dealer_id == ''){ $total_debit=0; $total_credit=0; $total_debit1=0; $total_credit1=0; $statements = $statements_query->get(); $statements1 = $statements_query1->get(); // dd($statements); foreach ($total_credit_debit_query->get() as $key => $value) { if(trim($value->transfer_type)==2){ if(trim($value->status)=='credit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } }else{ if(trim($value->status)=='debit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } } } foreach ($total_credit_debit_query1->get() as $key => $value) { if(trim($value->status)=='debit'){ $total_debit1+=$value->amount; }else{ $total_credit1+=$value->amount; } } foreach ($statements1 as $key => $value) { if(trim($value->status)=='debit'){ $statements1[$key]->type='receipt'; $statements1[$key]->status='debit'; }else{ $statements1[$key]->type='payment'; $statements1[$key]->status='credit'; } } foreach ($statements as $key => $value) { if(trim($value->transfer_type)==2){ $statements[$key]->type='receipt'; $statements[$key]->status='debit'; } } $balance = $total_debit - $total_credit; $balance1 = $total_debit1 - $total_credit1; $statements=json_decode($statements,true); $statements1=json_decode($statements1,true); $statements = (object) array_merge( (array) $statements1, (array) $statements); // dd($balance1); $balance=$balance+$balance1; // dd($statements); } elseif($bank_id != '' && $request->dealer_id != '' ) { $total_debit=0; $total_credit=0; $total_debit1=0; $total_credit1=0; $statements_query->where('dealer_id', $request->dealer_id); $statements_query1->where('transferfrom', $request->dealer_id); $total_credit_debit_query= $total_credit_debit_query->where('dealer_id', $request->dealer_id); $total_credit_debit_query1= $total_credit_debit_query1->where('transferfrom', $request->dealer_id); $statements = $statements_query->get(); $statements1 = $statements_query1->get(); foreach ($total_credit_debit_query->get() as $key => $value) { if(trim($value->transfer_type)==2){ if(trim($value->status)=='credit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } }else{ if(trim($value->status)=='debit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } } } foreach ($total_credit_debit_query1->get() as $key => $value) { if(trim($value->status)=='debit'){ $total_debit1+=$value->amount; }else{ $total_credit1+=$value->amount; } } foreach ($statements1 as $key => $value) { if(trim($value->status)=='debit'){ $statements1[$key]->type='receipt'; $statements1[$key]->status='debit'; }else{ $statements1[$key]->type='payment'; $statements1[$key]->status='credit'; } } foreach ($statements as $key => $value) { if(trim($value->transfer_type)==2){ $statements[$key]->type='receipt'; $statements[$key]->status='debit'; } } $balance = $total_debit - $total_credit; // dd($statements); $balance1 = $total_debit1 - $total_credit1; $statements=json_decode($statements,true); $statements1=json_decode($statements1,true); $statements = (object) array_merge( (array) $statements1, (array) $statements); // dd($balance1); $balance=$balance+$balance1; } $data['statements'] = $statements; $data['opening_balance'] = $balance; $data['bank_id']=$bank_id; // $data['dealer_id']=$request->dealer_id; // $data['from_dealer_id']=$request->from_dealer_id; $data['from_date']=$from_date; $data['to_date']=$to_date; } }else{ $data['statements'] = array(); } return view('dashboard.report.bank-statement',$data); } public function bankStatements(Request $request){ // dd($request->all()); $data = array(); $data['banks'] = \App\BankAccount::where('is_active',1)->with('bank')->get(); $data['dealers'] = \App\Dealer::select('id', 'name', 'address1')->where('is_active', 1)->get(); $data['opening_balance'] = 0; $data['statements'] = []; if ($request->isMethod('post')){ // dd($request->all()); $validator = \Validator::make($request->all(), array( 'bank_id' => 'required', 'from_date' => 'required', 'to_date' => 'required', ) ); if($validator->fails()){ return redirect('user/bank-statements') ->withErrors($validator) ->withInput(); }else{ $bank_id = $request->bank_id; $from_date = $request->from_date; $to_date = $request->to_date; $open_date=date('Y-m-d', strtotime('-1 day', strtotime($from_date))); // $total_debit_query = \DB::table('bank_statements')->where('bank_id',$bank_id)->where('status','debit')->whereDate('transaction_date','<=',$open_date); // $total_credit_query = \DB::table('bank_statements')->where('bank_id',$bank_id)->where('status','credit')->whereDate('transaction_date','<=',$open_date); $statements_query = \DB::table('bank_statements')->where('bank_id',$bank_id)->whereBetween('transaction_date',[$from_date,$to_date])->orderBy('transaction_date','asc'); $statements_query1 = \DB::table('bank_statements')->where('bank_id',$bank_id)->whereBetween('transaction_date',[$from_date,$to_date])->orderBy('transaction_date','asc')->where('transfer_type', 2); $total_credit_debit_query= \DB::table('bank_statements')->where('bank_id',$bank_id)->whereDate('transaction_date','<=',$open_date); $total_credit_debit_query1= \DB::table('bank_statements')->where('bank_id',$bank_id)->whereDate('transaction_date','<=',$open_date)->where('transfer_type', 2); if($bank_id != '' && $request->dealer_id == ''){ $total_debit=0; $total_credit=0; $total_debit1=0; $total_credit1=0; $statements = $statements_query->get(); $statements1 = $statements_query1->get(); foreach ($total_credit_debit_query->get() as $key => $value) { if(trim($value->transfer_type)==2){ if(trim($value->status)=='debit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } }else{ if(trim($value->status)=='debit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } } } foreach ($total_credit_debit_query1->get() as $key => $value) { if(trim($value->status)=='credit'){ $total_debit1+=$value->amount; }else{ $total_credit1+=$value->amount; } } foreach ($statements1 as $key => $value) { if(trim($value->status)=='credit'){ $statements1[$key]->type='receipt'; $statements1[$key]->status='debit'; }else{ $statements1[$key]->type='payment'; $statements1[$key]->status='credit'; } } foreach ($statements as $key => $value) { if(trim($value->transfer_type)==2){ $statements[$key]->type='payment'; $statements[$key]->status='credit'; } } $balance = $total_debit - $total_credit; $balance1 = $total_debit1 - $total_credit1; $statements=json_decode($statements,true); $statements1=json_decode($statements1,true); $statements = (object) array_merge( (array) $statements1, (array) $statements); // dd($balance1); $balance=$balance+$balance1; } elseif($bank_id != '' && $request->dealer_id != '' ) { $total_debit=0; $total_credit=0; $total_debit1=0; $total_credit1=0; $statements_query->where('dealer_id', $request->dealer_id); $statements_query1->where('transferfrom', $request->dealer_id); $total_credit_debit_query= $total_credit_debit_query->where('dealer_id', $request->dealer_id); $total_credit_debit_query1= $total_credit_debit_query1->where('transferfrom', $request->dealer_id); $statements = $statements_query->get(); $statements1 = $statements_query1->get(); foreach ($total_credit_debit_query->get() as $key => $value) { if(trim($value->transfer_type)==2){ if(trim($value->status)=='debit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } }else{ if(trim($value->status)=='debit'){ $total_debit+=$value->amount; }else{ $total_credit+=$value->amount; } } } foreach ($total_credit_debit_query1->get() as $key => $value) { if(trim($value->status)=='credit'){ $total_debit1+=$value->amount; }else{ $total_credit1+=$value->amount; } } foreach ($statements1 as $key => $value) { if(trim($value->status)=='credit'){ $statements1[$key]->type='receipt'; $statements1[$key]->status='debit'; }else{ $statements1[$key]->type='payment'; $statements1[$key]->status='credit'; } } foreach ($statements as $key => $value) { if(trim($value->transfer_type)==2){ $statements[$key]->type='payment'; $statements[$key]->status='credit'; } } $balance = $total_debit - $total_credit; // dd($statements); $balance1 = $total_debit1 - $total_credit1; $statements=json_decode($statements,true); $statements1=json_decode($statements1,true); $statements = (object) array_merge( (array) $statements1, (array) $statements); // dd($balance1); $balance=$balance+$balance1; } $data['statements'] = $statements; $data['opening_balance'] = $balance; $data['bank_id']=$bank_id; // $data['dealer_id']=$request->dealer_id; // $data['from_dealer_id']=$request->from_dealer_id; $data['from_date']=$from_date; $data['to_date']=$to_date; } }else{ $data['statements'] = array(); } return view('dashboard.report.bank-statement',$data); } }