CMXX - Update billing report

This commit is contained in:
“VeLiTi”
2024-10-25 14:50:43 +02:00
parent 1d806d27c4
commit a81bbf0ca5
9 changed files with 50 additions and 23 deletions

View File

@@ -22,15 +22,15 @@ switch ($permission) {
$whereclause = '';
break;
case '3':
$whereclause = '';
$whereclause = 'WHERE u.view IN (4,5)';
break;
case '2':
$condition = '__salesid___'.$partner->salesid.'___soldto___'.substr($partner->soldto, 0, strpos($partner->soldto, "-")).$soldto_search;
$whereclause = 'WHERE accounthierarchy like :condition ';
$whereclause = 'WHERE c.accounthierarchy like :condition AND u.view IN (1,2,3)';
break;
default:
$condition = '__salesid___'.$partner->salesid.'___soldto___'.substr($partner->soldto, 0, strpos($partner->soldto, "-")).$soldto_search.'___shipto___'.substr($partner->shipto, 0, strpos($partner->shipto, "-")).'%___location___'.substr($partner->location, 0, strpos($partner->location, "-")).'%';
$whereclause = 'WHERE accounthierarchy like :condition ';
$whereclause = 'WHERE c.accounthierarchy like :condition AND u.view IN (1,2,3)';
break;
}
@@ -53,11 +53,11 @@ if(isset($get_content) && $get_content!=''){
}
elseif ($v[0] == 'search') {
//build up search
$clause .= ' AND reference like :'.$v[0];
$clause .= ' AND c.reference like :'.$v[0];
}
elseif ($v[0] == 'servicetool') {
//build up search
$clause .= ' AND servicetool like :'.$v[0];
$clause .= ' AND c.servicetool like :'.$v[0];
}
else {//create clause
$clause .= ' AND '.$v[0].' = :'.$v[0];
@@ -72,15 +72,15 @@ if(isset($get_content) && $get_content!=''){
//Define Query
if(isset($criterias['totals']) && $criterias['totals'] ==''){
//Request for total rows
$sql = 'SELECT count(*) as count FROM contracts '.$whereclause.'';
$sql = 'SELECT count(*) as count FROM contracts c JOIN users u ON c.createdby = u.username '.$whereclause.'';
}
elseif (isset($criterias['list']) && $criterias['list'] =='') {
//SQL for Paging
$sql = 'SELECT * FROM contracts '.$whereclause.'';
$sql = 'SELECT * FROM contracts c JOIN users u ON c.createdby = u.username '.$whereclause.'';
}
else {
//SQL for Paging
$sql = 'SELECT * FROM contracts '.$whereclause.' LIMIT :page,:num_products';
$sql = 'SELECT * FROM contracts c JOIN users u ON c.createdby = u.username '.$whereclause.' LIMIT :page,:num_products';
}
$stmt = $pdo->prepare($sql);

View File

@@ -22,15 +22,15 @@ switch ($permission) {
$whereclause = '';
break;
case '3':
$whereclause = '';
$whereclause = 'WHERE u.view IN (4,5)';
break;
case '2':
$condition = '__salesid___'.$partner->salesid.'___soldto___'.substr($partner->soldto, 0, strpos($partner->soldto, "-")).$soldto_search;
$whereclause = 'WHERE accounthierarchy like :condition ';
$whereclause = 'WHERE accounthierarchy like :condition AND u.view IN (1,2,3)';
break;
default:
$condition = '__salesid___'.$partner->salesid.'___soldto___'.substr($partner->soldto, 0, strpos($partner->soldto, "-")).$soldto_search.'___shipto___'.substr($partner->shipto, 0, strpos($partner->shipto, "-")).'%___location___'.substr($partner->location, 0, strpos($partner->location, "-")).'%';
$whereclause = 'WHERE accounthierarchy like :condition ';
$whereclause = 'WHERE accounthierarchy like :condition AND u.view IN (1,2,3)';
break;
}
@@ -53,11 +53,11 @@ if(isset($get_content) && $get_content!=''){
}
elseif ($v[0] == 'search') {
//build up search
$clause .= ' AND reference like :'.$v[0];
$clause .= ' AND c.reference like :'.$v[0];
}
elseif ($v[0] == 'servicetool') {
//build up search
$clause .= ' AND servicetool like :'.$v[0];
$clause .= ' AND c.servicetool like :'.$v[0];
}
else {//create clause
$clause .= ' AND '.$v[0].' = :'.$v[0];
@@ -72,15 +72,15 @@ if(isset($get_content) && $get_content!=''){
//Define Query
if(isset($criterias['totals']) && $criterias['totals'] ==''){
//Request for total rows
$sql = 'SELECT count(*) as count FROM contracts '.$whereclause.'';
$sql = 'SELECT count(*) as count FROM contracts c JOIN users u ON c.createdby = u.username '.$whereclause.'';
}
elseif (isset($criterias['list']) && $criterias['list'] =='') {
//SQL for Paging
$sql = 'SELECT * FROM contracts '.$whereclause.'';
$sql = 'SELECT * FROM contracts c JOIN users u ON c.createdby = u.username '.$whereclause.'';
}
else {
//SQL for Paging
$sql = 'SELECT * FROM contracts '.$whereclause.' LIMIT :page,:num_products';
$sql = 'SELECT * FROM contracts c JOIN users u ON c.createdby = u.username '.$whereclause.' LIMIT :page,:num_products';
}
$stmt = $pdo->prepare($sql);

View File

@@ -40,8 +40,8 @@ $status = isset($_GET['status']) ? '&status='.$_GET['status'] : '';
$search = isset($_GET['search']) ? '&search='.$_GET['search'] : '';
//SET DEFAULT VALUES
$ye = (isset($_GET['year'])? $_GET['year'] : $curYear);
$mo = (isset($_GET['month'])? $_GET['month'] : '');
$ye = ((isset($_GET['year']) && $_GET['year'] !='' )? $_GET['year'] : $curYear);
$mo = ((isset($_GET['month']) && $_GET['month'] !='')? $_GET['month'] : $curMonth_name);
$qu = ((isset($_GET['month']) ? (int)ceil(date("n",strtotime($mo)) / 3): $curQuarter));
// Determine the URL
@@ -157,10 +157,11 @@ $view .= '
$view .= '
<div class="content-block">
<div class="table">
'.$ye.' - '.$qu.' - '.$mo.'
<table class="sortable">
<thead>
<tr>
<th>'.$contract_id.'</th>
<th>#</th>
<th>'.$contract_status.'</th>
<th>'.$contract_account.'</th>
<th>'.$contract_type.'</th>
@@ -168,8 +169,9 @@ $view .= '
<th>'.$contract_start_date.'</th>
<th>'.$contract_end_date.'</th>
<th>'.$contract_reference.'</th>
<th>BillingCount</th>
<th>'.$contract_service.'</th>
<th>'.$contract_billing_count.'</th>
<th>'.$contract_service_2.'</th>
<th>'.$contract_overrun.'</th>
<th>'.$general_actions.'</th>
</tr>
</thead>
@@ -247,6 +249,10 @@ $view .= '
//GetPartnerDetails
$partner_data = json_decode($response['accounthierarchy'],true);
//SHOW USAGE PERCENTAGE
$usage_service_count = ($response['service_count'] != 0 || $response['service_count'] !='') ? $response['service_count']:1;
$usage_percentage = ($billing_run != 0) ? round((($billing_run/$usage_service_count)*100),2) : 0;
$usage_per_status = ($usage_percentage < 100) ? 'enabled' : 'disabled';
$view .= '
<tr>
<td>'.$response['rowID'].'</td>
@@ -258,7 +264,8 @@ $view .= '
<td>'.$date.'</td>
<td>'.$response['reference'].'</td>
<td>'.$billing_run.'</td>
<td>'.$response['service_count'].'</td>
<td>'.$response['service_count'].' </td>
<td><span class="status '.$usage_per_status .'">'.$usage_percentage.'</span></td>
<td><a href="index.php?page=contract&rowID='.$response['rowID'].'" class="btn_link">'.$general_view .'</a></td>
</tr>
';

View File

@@ -8,7 +8,7 @@ define('service','dashboard,profile,assets,equipments,equipment,equipment_manage
/*Admin*/
define('admin_profile','dashboard,profile,buildtool,sales,accounts,account,contracts,contract,contract_manage,cartests,cartest,cartest_manage,assets,equipments,equipment,equipment_healthindex,equipment_data,equipment_manage,equipment_manage_edit,equipments_mass_update,histories,history,history_manage,firmwaretool,buildtool,products,products_versions,product,product_manage,servicereports,servicereport,admin,partners,partner,users,user,user_manage,communications,communication,communication_send,marketing,reporting,report_build,report_healthindex,application');
/*AdminPlus*/
define('adminplus_profile','dashboard,profile,buildtool,sales,accounts,account,contracts,contract,contract_manage,cartests,cartest,cartest_manage,assets,equipments,equipment,equipment_healthindex,equipment_data,equipment_manage,equipment_manage_edit,equipments_mass_update,histories,history,history_manage,firmwaretool,buildtool,products,products_versions,products_software,product,product_manage,servicereports,servicereport,admin,partners,partner,users,user,user_manage,communications,communication,communication_send,marketing,reporting,report_build,report_healthindex,report_usage,config,settings,logfile,changelog,language,application,maintenance,profiles');
define('adminplus_profile','dashboard,profile,buildtool,sales,accounts,account,contracts,contract,contract_manage,cartests,cartest,cartest_manage,assets,equipments,equipment,equipment_healthindex,equipment_data,equipment_manage,equipment_manage_edit,equipments_mass_update,histories,history,history_manage,firmwaretool,buildtool,products,products_versions,products_software,product,product_manage,servicereports,servicereport,admin,partners,partner,users,user,user_manage,communications,communication,communication_send,marketing,reporting,report_build,report_contracts_billing,report_healthindex,report_usage,config,settings,logfile,changelog,language,application,maintenance,profiles');
/*Build*/
define('build','buildtool,buildtool,application');
/*Distribution*/

View File

@@ -526,6 +526,10 @@ $contract_billing3 = 'Annual';
$contract_service = 'Number of service events based on billingplan';
$contract_billing_count = 'Verbraucht';
$contract_service_2 = 'Vertraglich';
$contract_overrun = 'Abweichung';
$contract_id = 'Vertrags-ID';
$contract_account = 'Konto';
$contract_type = 'Typ';

View File

@@ -525,6 +525,10 @@ $contract_billing3 = 'Anual';
$contract_service = 'Número de eventos de servicio basado en el plan de facturación';
$contract_billing_count = 'Consumido';
$contract_service_2 = 'Contratado';
$contract_overrun = 'Desviacion';
$contract_id = 'ID de Contrato';
$contract_account = 'Cuenta';
$contract_type = 'Tipo';

View File

@@ -531,6 +531,10 @@ $contract_billing3 = 'Jaarlijks';
$contract_service = 'Aantal service events obv betaalschema';
$contract_billing_count = 'Verbruikt';
$contract_service_2 = 'Gecontracteerd';
$contract_overrun = 'Afwijking';
$contract_id = 'Contractnummer';
$contract_account = 'Klant';
$contract_type = 'Type';

View File

@@ -524,6 +524,10 @@ $contract_billing3 = 'Anual';
$contract_service = 'Número de eventos de serviço baseado no plano de faturamento';
$contract_billing_count = 'Consumido';
$contract_service_2 = 'Contratado';
$contract_overrun = 'Desvio';
$contract_id = 'ID do Contrato';
$contract_account = 'Conta';
$contract_type = 'Tipo';

View File

@@ -526,6 +526,10 @@ $contract_billing3 = 'Annual';
$contract_service = 'Number of service events based on billingplan';
$contract_billing_count = 'Consumed';
$contract_service_2 = 'Contracted';
$contract_overrun = 'Deviation';
$contract_id = 'Contract ID';
$contract_account = 'Account';
$contract_type = 'Type';