File: /www/exchange0old/exchange/classes/Model/MCreditRiskSetting.php
<?php
class Model_MCreditRiskSetting
{
function getAgentRatings($id)
{
$query= new Bin_Query();
$query->executeQuery("SELECT *
FROM rating_agency
where rating_id = '".$id."'
limit 1");
return $query->records[0];
}
function getDebtorRisk($tradefloor)
{
$risk_query= new Bin_Query();
$risk_query->executeQuery("SELECT *
FROM risk_credit
where debtor_id = '".$tradefloor['debtor_master_id']."'
limit 1");
return $risk_query->records;
}
function getOrgRisk($tradefloor)
{
$risk_org_query = new Bin_Query();
$risk_org_query->executeQuery("SELECT *
FROM risk_credit
where organisation_id = '".$tradefloor['organisation_id']."'
limit 1");
return $risk_org_query->records;
}
private function getRiskValue($tradefloor,$risk_value,$contidion)
{
$risk_query = new Bin_Query();
$risk_query->executeQuery("SELECT *
FROM risk_credit
WHERE ".$contidion."
LIMIT 1");
$risk = $risk_query->records;
if(($risk[0]['provider1_credit_limit'] != '' ) || ( $risk[0]['provider1_risk_score'] != '' ))
{
return($tradefloor[$risk_value] =='')?' ':$tradefloor[$risk_value];
}
elseif(($risk[0]['provider2_credit_limit'] != '' ) || ($risk[0]['provider2_risk_score'] != '' ))
{
$ratings = Model_MCreditRiskSetting::getAgentRatings(2);
return($tradefloor[$risk_value] =='')?' ':($tradefloor[$risk_value].$ratings['r_short']);
}
elseif(($risk[0]['provider5_credit_limit'] != '' ) || ($risk[0]['provider5_risk_score'] != '' ))
{
$ratings = Model_MCreditRiskSetting::getAgentRatings(5);
return($tradefloor[$risk_value] =='')?' ':($tradefloor[$risk_value].$ratings['r_short']);
}
elseif(($risk[0]['provider6_credit_limit'] != '' ) || ($risk[0]['provider6_risk_score'] != '' ))
{
$ratings = Model_MCreditRiskSetting::getAgentRatings(6);
return($tradefloor[$risk_value] =='')?' ':($tradefloor[$risk_value].$ratings['r_short']);
}
else
{
return ($tradefloor[$risk_value] =='')?' ':Model_MCreditRiskSetting::getMillionSeperator($tradefloor[$risk_value]);
}
}
function getDebtorRiskLimit($tradefloor)
{
return self::getRiskValue($tradefloor,'debtor_limit',"debtor_id = ".$tradefloor['debtor_master_id']);
}
function getDebtorRiskScore($tradefloor)
{
return self::getRiskValue($tradefloor,'debtor_risk',"debtor_id = ".$tradefloor['debtor_master_id']);
}
function getOrgRiskLimit($tradefloor)
{
return self::getRiskValue($tradefloor,'limits',"organisation_id = ".$tradefloor['organisation_id']);
}
function getOrgRiskScore($tradefloor)
{
return self::getRiskValue($tradefloor,'risks',"organisation_id = ".$tradefloor['organisation_id']);
}
function getMillionSeperator($debtor_limit)
{
if($debtor_limit >= 1000000)
{
if($debtor_limit % 1000000 == 0)
{
return number_format($debtor_limit / 1000000)."M";
}
else
{
return number_format($debtor_limit / 1000000, 1, '.', ',')."M";
}
}
elseif($debtor_limit >= 1000)
{
return number_format($debtor_limit/1000)."K";
}
else
{
if($debtor_limit != "0")
return number_format($debtor_limit);
}
return $debtor_limit;
}
function getThousandSeperator($debtor_limit)
{
if($debtor_limit >= 1000)
{
return number_format($debtor_limit /1000)."K";
}
else
{
if($debtor_limit != "0")
return number_format($debtor_limit);
}
return $debtor_limit;
}
}
?>