diff --git a/clients.php b/clients.php index 3d8c42b9..74345302 100644 --- a/clients.php +++ b/clients.php @@ -247,7 +247,21 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $balance_text_color = "text-danger font-weight-bold"; }else{ $balance_text_color = ""; - } + } + + //Get Monthly Recurring Total + $sql_recurring_monthly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_monthly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'month' AND recurring_client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql_recurring_monthly_total); + + $recurring_monthly_total = $row['recurring_monthly_total']; + + //Get Yearly Recurring Total + $sql_recurring_yearly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_yearly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'year' AND recurring_client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql_recurring_yearly_total); + + $recurring_yearly_total = $row['recurring_yearly_total'] / 12; + + $recurring_monthly = $recurring_monthly_total + $recurring_yearly_total; ?> @@ -316,6 +330,8 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); Balance
Paid +
+ Monthly diff --git a/database_updates.php b/database_updates.php index 62ceca03..69e2c311 100644 --- a/database_updates.php +++ b/database_updates.php @@ -392,11 +392,32 @@ if(LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION){ mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.3'"); } - //if(CURRENT_DATABASE_VERSION == '0.2.3'){ - // Insert queries here required to update to DB version 0.2.4 + if(CURRENT_DATABASE_VERSION == '0.2.3'){ + + //Create New interfaces Table + mysqli_query($mysqli, "CREATE TABLE `interfaces` (`interface_id` int(11) AUTO_INCREMENT PRIMARY KEY, + `interface_number` int(11) NULL DEFAULT NULL, + `interface_description` varchar(200) NULL DEFAULT NULL, + `interface_connected_asset` varchar(200) NULL DEFAULT NULL, + `interface_ip` varchar(200) NULL DEFAULT NULL, + `interface_created_at` datetime DEFAULT CURRENT_TIMESTAMP, + `interface_updated_at` datetime NULL ON UPDATE CURRENT_TIMESTAMP, + `interface_archived_at` datetime NULL DEFAULT NULL, + `interface_connected_asset_id` int(11) NOT NULL DEFAULT 0, + `interface_network_id` int(11) NOT NULL DEFAULT 0, + `interface_asset_id` int(11) NOT NULL, + `company_id` int(11) NOT NULL + )"); + + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.4'"); + + } + + //if(CURRENT_DATABASE_VERSION == '0.2.4'){ + // Insert queries here required to update to DB version 0.2.5 // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.4'"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.5'"); //} diff --git a/database_version.php b/database_version.php index 5778d714..dfbdf1e6 100644 --- a/database_version.php +++ b/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "0.2.3"); \ No newline at end of file +DEFINE("LATEST_DATABASE_VERSION", "0.2.4"); \ No newline at end of file diff --git a/db.sql b/db.sql index 6a5cd96b..645556cb 100644 --- a/db.sql +++ b/db.sql @@ -502,6 +502,30 @@ CREATE TABLE `history` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; +-- +-- Table structure for table `interfaces` +-- + +DROP TABLE IF EXISTS `interfaces`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `interfaces` ( + `interface_id` int(11) NOT NULL AUTO_INCREMENT, + `interface_number` int(11) DEFAULT NULL, + `interface_description` varchar(200) DEFAULT NULL, + `interface_connected_asset` varchar(200) DEFAULT NULL, + `interface_ip` varchar(200) DEFAULT NULL, + `interface_created_at` datetime DEFAULT current_timestamp(), + `interface_updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(), + `interface_archived_at` datetime DEFAULT NULL, + `interface_connected_asset_id` int(11) NOT NULL DEFAULT 0, + `interface_network_id` int(11) NOT NULL DEFAULT 0, + `interface_asset_id` int(11) NOT NULL, + `company_id` int(11) NOT NULL, + PRIMARY KEY (`interface_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + -- -- Table structure for table `invoice_items` -- @@ -1498,4 +1522,4 @@ CREATE TABLE `vendors` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2022-12-19 11:42:40 +-- Dump completed on 2023-01-09 19:14:30 diff --git a/inc_all_client.php b/inc_all_client.php index 1c62ed2c..17b04c00 100644 --- a/inc_all_client.php +++ b/inc_all_client.php @@ -89,6 +89,20 @@ if(isset($_GET['client_id'])){ $balance = $invoice_amounts - $amount_paid; + //Get Monthly Recurring Total + $sql_recurring_monthly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_monthly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'month' AND recurring_client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql_recurring_monthly_total); + + $recurring_monthly_total = $row['recurring_monthly_total']; + + //Get Yearly Recurring Total + $sql_recurring_yearly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_yearly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'year' AND recurring_client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql_recurring_yearly_total); + + $recurring_yearly_total = $row['recurring_yearly_total'] / 12; + + $recurring_monthly = $recurring_monthly_total + $recurring_yearly_total; + //Badge Counts $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('contact_id') AS num FROM contacts WHERE contact_archived_at IS NULL AND contact_client_id = $client_id")); diff --git a/inc_client_top_head.php b/inc_client_top_head.php index 881733a5..5582e69e 100644 --- a/inc_client_top_head.php +++ b/inc_client_top_head.php @@ -87,6 +87,7 @@ $location_phone = formatPhoneNumber($location_phone);

Billing

Paid
Balance
float-right">
+
Monthly Recurring
Net Terms
Days
diff --git a/report_recurring_by_client.php b/report_recurring_by_client.php new file mode 100644 index 00000000..e7e3b437 --- /dev/null +++ b/report_recurring_by_client.php @@ -0,0 +1,67 @@ + + + +
+
+

Recurring Income By Client

+
+ +
+
+
+
+ + + + + + + + + 0){ + + ?> + + + + + + + + + + + +
ClientMonthly Recurring
Total
+
+
+
+ + \ No newline at end of file diff --git a/reports_side_nav.php b/reports_side_nav.php index bfb830e8..c4299bba 100644 --- a/reports_side_nav.php +++ b/reports_side_nav.php @@ -30,6 +30,12 @@

Income By Client

+