File: /www/exchange2/exchange/classes/Model/MTransactions.php
<?php
include_once('admin/classes/Model/statement_actions.php');
class Model_MTransactions extends Statement_actions
{
var $output = array();
public function getStatements(){
$user_id = $_SESSION['user']['userid'];
$temp_reg_id = Model_MTransactions::getRegisterId($user_id);
$where = '';
if($temp_reg_id !=0){
$where = " || t.temp_reg_id = '".$temp_reg_id."' ";
}
$query = new Bin_Query();
$sql = "SELECT t.*, td.*,DATE_FORMAT(t.transaction_date,'%d/%m/%Y') as order_date ".
" FROM `transactions` as t ".
" LEFT JOIN `transaction_detail` as td ON td.transaction_id = t.transaction_id ".
" WHERE (t.user_id = '".$user_id."' $where ) ";
$query->executeQuery($sql);
$contents = $query->records;
return $contents;
}//End
//Start
public function getCreditReports(){
$user_id = $_SESSION['user']['userid'];
$query = new Bin_Query();
$sql = "SELECT t.*, c.*,td.*,DATE_FORMAT(t.transaction_date,'%d/%m/%Y') as order_date ".
" FROM `transactions` as t ".
" LEFT JOIN `transaction_detail` as td ON td.transaction_id = t.transaction_id ".
" LEFT JOIN `shopping_cart` as c ON c.cart_session = td.cart_session_id && c.user_id = t.user_id ".
" WHERE (t.user_id = '".$user_id."' $where ) ";
$query->executeQuery($sql);
$contents = $query->records;
return $contents;
}//End
//Start
public function getDownloadCreditReports($id){
$report = $id;
$cart = $_REQUEST['cart'];
$type = $_REQUEST['p'];
$temp_reg_id = Model_MTransactions::getRegisterId($user_id);
$query = new Bin_Query();
$sql = "SELECT r.* ".
" FROM `transactions` as t ".
" LEFT JOIN `transaction_detail` as td ON td.transaction_id = t.transaction_id ".
" LEFT JOIN `shopping_cart` as c ON c.cart_session = td.cart_session_id && c.user_id = t.user_id ".
" && shopping_cart_id = '".$cart."' ".
" LEFT JOIN `risk_credit_document` as r ON r.risk_credit_id = c.risk_credit_document_id ".
" WHERE t.transaction_id = '".$report."' ORDER BY r.risk_credit_document_id DESC LIMIT 1";
$query->executeQuery($sql);
$contents = $query->records;
return $contents;
}//End
//Start
public function getRegisterId($userid){
$query = new Bin_Query();
$sql = "SELECT temp_reg_id FROM `temp_registration` WHERE user_id = '".$userid."' limit 1 ";
$query->executeQuery($sql);
$register_user = $query->records;
if(count($register_user) > 0){
return $register_user[0]['temp_reg_id'];
}else{
return '0';
}
}//End
//Start
public function getOrganisation($userid){
$query = new Bin_Query();
$sql = "SELECT organisation_id FROM `organistion_details` WHERE user_id = '".$userid."' limit 1 ";
$query->executeQuery($sql);
$register_user = $query->records;
return $register_user;
}//End
function showRetailInvestors($flg='1')
{
$sort = self::prepareSorting(array(
1=>'retailer_name',
'',
'tr.quote_rate',
'status',
6=>'date'
),'date DESC');
$where .= " WHERE r.created_by='".$_SESSION['user']['userid']."' AND r.temp_reg_id='NULL' ";
$where1 .= " WHERE t.user_type='6' AND i.intermediary_id='".$_SESSION['user']['userid']."' ";
$noofrec = (isset($_GET['show']) && ctype_digit($_GET['show']))?trim($_GET['show']):CONFIG_ENTRIES_PER_PAGE;
$start=(isset($_GET['page']))?(trim($_GET['page']-1) * $noofrec):0;
$query = new Bin_Query();
$sql = "(SELECT SQL_CALC_FOUND_ROWS DATE_FORMAT(t.doj,'%Y-%m-%d') as date,CONCAT(t.first_name,t.last_name) as retailer_name,".
" t.status as status,t.temp_reg_id as uid,t.user_id as user_id,'2' as flag, ".
" tr.quote_rate FROM ".
" `temp_registration` as t LEFT JOIN temp_retailer tr ON tr.temp_reg_id=t.temp_reg_id ".
" LEFT JOIN investor_relation i ON i.investor_id=tr.temp_reg_id ".
" LEFT JOIN address_details a ON a.address_id = t.organization_address_id ".
" LEFT JOIN country_mas c ON c.country_id = a.address_country $where1 ) ".
" $sort
LIMIT ".$start.",".$noofrec;
$query->executeQuery($sql);
$recordSet = $query->records;
$query->executeQuery('SELECT FOUND_ROWS() as totalRecord');
$totalRecord=$query->records[0]['totalRecord'];
if($flg == 2)
{
return $totalRecord;
}
return Display_DTransactions::showRetailInvestors(ceil($totalRecord/$noofrec),$recordSet);
}
function getOriginatorRateDetails($debtor_type='', $user_id = null)
{
if(!$user_id)
{
$user_id = $_SESSION['user']['userid'];
}
$security = new Bin_Security();
$security->escapeGet();
$qry = new Bin_Query();
$sql = "SELECT org.agreed_rate,org.organisation_reference_id,org.purchase_price".
" FROM organisation_details org,".
" temp_registration t WHERE ".
" org.user_id='".$user_id."' ".
" AND org.user_id = t.user_id LIMIT 1 ";
$qry->executeQuery($sql);
$rate = $qry->records[0]['agreed_rate'];
$originator_id = $qry->records[0]['organisation_reference_id'];
$purchase_payment = $qry->records[0]['purchase_price'];
$debtors_avg_payment=0;
if(!empty($_REQUEST['id'])){
$query12 = new Bin_Query();
$sql12 = "SELECT dd.*
FROM debtors_detail dd,organisation_details org, debtor_relation dr
WHERE org.user_id='".$user_id."' AND dr.organisation_id=dr.organisation_id AND dd.debtor_id=dr.debtor_id AND dd.debtor_id = '".$_REQUEST['id']."'
LIMIT 1 ";
$query12->executeQuery($sql12);
$debtors = $query12->records;
for($i=0; $i<count($debtors); $i++)
{
$debtors_avg_payment += $debtors[$i]['average_payment_cycle'];
}
$avg_payment_cycle = number_format($debtors_avg_payment / count($debtors));
}else{
$query12 = new Bin_Query();
$sql12 = "SELECT dd.* FROM debtors_detail dd,organisation_details org,".
" debtor_relation dr WHERE org.user_id='".$user_id."' ".
" AND dr.organisation_id=dr.organisation_id AND dd.debtor_id=dr.debtor_id ";
$query12->executeQuery($sql12);
$debtors = $query12->records;
for($i=0; $i<count($debtors); $i++){
$debtors_avg_payment += $debtors[$i]['average_payment_cycle'];
}
$avg_payment_cycle = number_format($debtors_avg_payment / count($debtors));
}
$qry = new Bin_Query();
$sql = "SELECT t.doj as start_date,DATE_ADD(t.doj, INTERVAL 364 DAY) as received_date, ".
" DATE(NOW()) as today FROM temp_registration t WHERE t.user_id='".$user_id."' ".
" LIMIT 1 ";
$qry->executeQuery($sql);
$records= $qry->records[0];
$dates = array('0'=>$records['start_date'],'1'=>$records['received_date'],'2'=>$records['today'], '3'=>self::getMinStatementDate($_SESSION['user']['userid'],'user_id',$debtor_type));
return array('1'=>$rate,'3'=>$dates,'4'=>$avg_payment_cycle,'5'=>$originator_id,'6'=>$purchase_payment);
}
function getDebtorDetails($debtor_id = null)
{
if (!$debtor_id)
{
$debtor_id = $_REQUEST['id'];
}
$query = new Bin_Query();
$query->executeQuery("SELECT d.debtor_id,IF(d.trade_name != '', d.trade_name, d.debtor_name) as debtor_name,d.debtor_reference_id,d.trade_name, d.payment_discount, currencies.currency_code, d.type, d.currency_id, d.purchase_price
FROM debtors_detail d
LEFT JOIN currencies ON currencies.currency_id = d.currency_id
WHERE d.debtor_id='".$debtor_id."'
LIMIT 1 ");
return $query->records[0];
}
function getManualTransDetails(){
$debtor_id = $_REQUEST['id'];
$qry = new Bin_Query();
$sql = "SELECT m.*, c.*,trans.*,DATE(trans.created_at) as created FROM invoice_master m, ".
" invoice_closed c,manual_transactions trans WHERE m.debtor_id='".$debtor_id."' && ".
" m.user_id='".$_SESSION['user']['userid']."' && m.root_invoice_id > 0 && ".
" m.invoice_status = 3 && c.invoice_id = m.invoice_id && trans.manual_transaction_id=m.manual_transaction_id GROUP BY trans.manual_transaction_id ORDER BY trans.created_at DESC";
$qry->executeQuery($sql);
$recordSet = $qry->records;
$recordSize = count($recordSet);
if($recordSize==0)
return 1;
return Display_DTransactions::getManualTransDetails($recordSet,$recordSize);
}
function getPaymentOnAccDetails(){
$qry = new Bin_Query();
$sql = "SELECT m.* , DATE(m.created_at) as issuedate,org.organisation_reference_id,org.organisation_name,CONCAT(t.first_name,t.last_name) as uname FROM `manual_transactions` m,`organisation_details` org,`temp_registration` t WHERE m.originator_id='".$_REQUEST['uid']."' && m.transaction_type = ".ORIGINATOR_PAYMENT_ON_ACCOUNT." && m.status='1' && m.originator_id=org.user_id && org.user_id=t.user_id ";
$qry->executeQuery($sql);
$records = $qry->records;
$recordSize = count($records);
return Display_DTransactions::getPaymentOnAccDetails($records,$recordSize);
}
function getOrgCreditNotes(){
$qry = new Bin_Query();
$sql = "SELECT m.* , DATE(m.created_at) as issuedate,org.organisation_reference_id,org.organisation_name,CONCAT(t.first_name,t.last_name) as uname FROM `manual_transactions` m,`organisation_details` org,`temp_registration` t WHERE m.originator_id='".$_REQUEST['uid']."' && m.transaction_type = ".CREDIT_NOTE." && m.status='1' && m.originator_id=org.user_id && org.user_id=t.user_id ";
$qry->executeQuery($sql);
$records = $qry->records;
$recordSize = count($records);
return Display_DTransactions::getOrgCreditNotes($records,$recordSize);
}
function chkInstalmentUser(){
$qry = new Bin_Query();
$sql = "SELECT instalment_etr FROM organisation_details WHERE user_id='".$_SESSION['user']['userid']."' LIMIT 1 ";
$qry->executeQuery($sql);
$instalment_etr = $qry->records[0]['instalment_etr'];
if($instalment_etr!='1' && ($_REQUEST['do']=='instrastatements'))
{
header('Location: index.php?do=originatorhome');
exit();
}
elseif($instalment_etr=='1' && ($_REQUEST['do']=='mytrastatements'))
{
header('Location: index.php?do=originatorhome');
exit();
}
else
{
return true;
}
}
function getOriginatorDetails($user_id = null)
{
if(!$user_id)
{
$user_id = $_SESSION['user']['userid'];
}
$query = new Bin_Query();
$query->executeQuery('SELECT organisation_name,address_line_one, address_line_two, address_area, address_city, address_state,address_zipcode, country_name
FROM organisation_details
LEFT JOIN address_details ON address_details.address_id = organisation_details.mail_address_id
LEFT JOIN country_mas ON country_mas.country_id = address_details.address_country
WHERE user_id='.$user_id);
return $query->records[0];
}
function getDEBXAccountForPayment($debtor_id = null)
{
if(!$debtor_id)
{
$debtor_id = $_REQUEST['id'];
}
$query = new Bin_Query();
$query->executeQuery('SELECT address_line_one, address_line_two, address_area, address_city, address_state, address_zipcode, country_name, bank_account_no, sort_code, iban_code, swift_code, currency_code
FROM debtors_detail
LEFT JOIN bank_account ON bank_account.currency_id = debtors_detail.currency_id
LEFT JOIN address_details ON address_details.address_id = bank_account.address_id
LEFT JOIN country_mas ON country_mas.country_id = address_details.address_country
LEFT JOIN currencies ON currencies.currency_id = debtors_detail.currency_id
WHERE debtor_id="'.$debtor_id.'" AND account_type=2 AND status_type=4');
return (count($query->records)>0)?$query->records[0]:NULL;
}
}
?>