<?php
//Llamada al modelo
require 'model/reports_model.php';

class reports_controller
{


/**
* Consulta de cuentas.
*
*Funcion para consultar cuentas registrados para llenar input*
*
* @return Array msg=mensaje,status,datos=array de la consulta 
* @param 
*/
public function query_reports(){
	$per=new reports_model();
	$decryp=new routehelper();
	$cuenta=$_POST['cuenta'];
	$balance=$_POST['saldo'];
	$date=date('Y-m-d');
	$fecha=(empty($_POST['fecha'])) ? $date : $_POST['fecha'];
	//$fecha='2022-04-20';
	$datos=$per->query_bank_accounts($cuenta);
	$pagos_sistema=$per->query_system_payment($cuenta,$fecha);
	$saldos=$per->query_balance($balance);
	$saldo=$saldos[0]["saldo"];
	$saldo_initial=$saldos[0]["saldo_inicial"];
	$url_movimientos=$saldos[0]["id"];
	$url_movimientos=$decryp->encryptroute($url_movimientos);

	$total_ingresos=$per->query_movement($balance,1);
	$total_egresos=$per->query_movement($balance,2);
	foreach ($datos as &$value) {
		$saldo=number_format($saldo,2,',','.');
		$saldo_initial=number_format($saldo_initial,2,',','.');
		$value['saldo']=$saldo;
		$value['saldo_initial']=$saldo_initial;
		$value['fecha']=$fecha;
		$value['url_movimientos']=$url_movimientos;
	}
	foreach ($total_ingresos as &$value) {
		$value['fecha']=$fecha;
		$soles_total=number_format($value["soles_total"],2,',','.');
		$value['soles_total']=$soles_total;

	}
	foreach ($total_egresos as &$value) {
		$value['fecha']=$fecha;
		$soles_total=number_format($value["soles_total"],2,',','.');
		$value['soles_total']=$soles_total;
	}
	$datos1 = array('msg' => $_SESSION['lang']['TABLA'],'status' => true,'datos' => $datos,'pagos_sistema' => $pagos_sistema,'total_ingresos' => $total_ingresos,'total_egresos' => $total_egresos);
	return $datos1;
}


/**
* Consulta de detalles.
*
*Funcion para consultar detalles registrados para llenar input*
*
* @return Array msg=mensaje,status,datos=array de la consulta 
* @param 
*/
public function query_balances(){
	$per=new reports_model();
	$cuenta=$_POST['cuenta'];
	$date=date('Y-m-d');
	$fecha=(empty($_POST['fecha'])) ? $date : $_POST['fecha'];
	//$fecha='2022-04-20';
	$datos=$per->query_balances($cuenta,$fecha);
	foreach ($datos as &$value) {
		$saldo=number_format($value["saldo"],2,',','.');
		$saldo_inicial=number_format($value["saldo_inicial"],2,',','.');
		$value['saldo']=$saldo;
		$value['saldo_inicial']=$saldo_inicial;
		$value['fecha']=$fecha;
	}
	$datos1 = array('msg' => $_SESSION['lang']['TABLA'],'status' => true,'datos' => $datos);
	return $datos1;
}

/**
* Consulta de cuentas.
*
*Funcion para consultar cuentas registrados para llenar input*
*
* @return Array msg=mensaje,status,datos=array de la consulta 
* @param 
*/
public function query_transactions(){
	$per=new reports_model();
	$decryp=new routehelper();
	$id=$_POST['id'];
	$option=$decryp->decryptroute($id);
	$option=explode('/',trim($option));
	$id=$option[1];
	$datos=$per->query_transactions($id);
	foreach ($datos as &$value) {
		$monto=number_format($value['monto'],2,',','.');
		if ($value['transaccion'] == "1") {
		$value['monto_i']=$monto;
		$value['monto_e']='';
		}else{
		$value['monto_i']='';
		$value['monto_e']=$monto;
		}
		$monto_actual=number_format($value['monto_actual'],2,',','.');
		$value['monto_actual']=$monto_actual;
	}

	$datos1 = array('msg' => $_SESSION['lang']['TABLA'],'status' => true,'datos' => $datos);
	return $datos1;
}

/**
* Consulta de cuentas.
*
*Funcion para consultar cuentas registrados para llenar input*
*
* @return Array msg=mensaje,status,datos=array de la consulta 
* @param 
*/
public function query_account_balance(){
	$per=new reports_model();
	$decryp=new routehelper();
	$id=$_POST['id'];
	$option=$decryp->decryptroute($id);
	$option=explode('/',trim($option));
	$id=$option[1];
	$datos=$per->query_account_balance($id);
	foreach ($datos as &$value) {
		$saldo=number_format($value['saldo'],2,',','.');
		$saldo_inicial=number_format($value['saldo_inicial'],2,',','.');
		$value['saldo']=$saldo;
		$value['saldo_inicial']=$saldo_inicial;
	}

	$datos1 = array('msg' => $_SESSION['lang']['TABLA'],'status' => true,'datos' => $datos);
	return $datos1;
}

}
?>