From ee2160fa8ac0814db8640c7d63b7b749afa5abac Mon Sep 17 00:00:00 2001 From: drkthunder02 Date: Wed, 11 Mar 2020 00:23:43 -0500 Subject: [PATCH] jump bridge helper --- .../Controllers/Dashboard/AdminController.php | 6 +- .../Dashboard/StatisticsController.php | 400 ++++++++++++++++++ app/Library/JumpBridges/JumpBridgeHelper.php | 23 + app/Library/SRP/SRPHelper.php | 22 + app/Library/Taxes/TaxesHelper.php | 22 - 5 files changed, 449 insertions(+), 24 deletions(-) create mode 100644 app/Http/Controllers/Dashboard/StatisticsController.php create mode 100644 app/Library/JumpBridges/JumpBridgeHelper.php diff --git a/app/Http/Controllers/Dashboard/AdminController.php b/app/Http/Controllers/Dashboard/AdminController.php index 6cebaf0a2..97b05ca0b 100644 --- a/app/Http/Controllers/Dashboard/AdminController.php +++ b/app/Http/Controllers/Dashboard/AdminController.php @@ -11,6 +11,7 @@ use Carbon\Carbon; use App\Library\Taxes\TaxesHelper; use App\Library\Wiki\WikiHelper; use App\Library\Lookups\LookupHelper; +use App\Library\SRP\SRPHelper; //Models use App\Models\User\User; @@ -143,6 +144,7 @@ class AdminController extends Controller /** Taxes Pane */ //Declare classes needed for displaying items on the page $tHelper = new TaxesHelper(); + $srpHelper = new SRPHelper(); //Get the dates for the tab panes $dates = $tHelper->GetTimeFrameInMonths($months); //Get the data for the Taxes Pane @@ -150,13 +152,13 @@ class AdminController extends Controller //Get the srp actual pay out for the date range $srpActual[] = [ 'date' => $date['start']->toFormattedDateString(), - 'gross' => number_format($tHelper->GetAllianceSRPActual($date['start'], $date['end']), 2, ".", ","), + 'gross' => number_format($srpHelper->GetAllianceSRPActual($date['start'], $date['end']), 2, ".", ","), ]; //Get the srp loss value for the date range $srpLoss[] = [ 'date' => $date['start']->toFormattedDateString(), - 'gross' => number_format($tHelper->GetAllianceSRPLoss($date['start'], $date['end']), 2, ".", ","), + 'gross' => number_format($srpHelper->GetAllianceSRPLoss($date['start'], $date['end']), 2, ".", ","), ]; //Get the pi taxes for the date range diff --git a/app/Http/Controllers/Dashboard/StatisticsController.php b/app/Http/Controllers/Dashboard/StatisticsController.php new file mode 100644 index 000000000..33f2a6960 --- /dev/null +++ b/app/Http/Controllers/Dashboard/StatisticsController.php @@ -0,0 +1,400 @@ +middleware('auth'); + } + + /** + * Display Jump Bridge Statistics + */ + public function displayJumpBridgeStatistics() { + $this->middleware('role:Admin'); + + $lava = new Lavacharts; + + } + + /** + * Display Taxes Statistics + */ + public function displayTaxes() { + $this->middleware('role:Admin'); + + //Declare variables needed for displaying items on the page + $months = 3; + $pi = array(); + $industry = array(); + $reprocessing = array(); + $office = array(); + $corpId = 98287666; + $srpActual = array(); + $srpLoss = array(); + + /** Taxes Pane */ + //Declare classes needed for displaying items on the page + $tHelper = new TaxesHelper; + $srpHelper = new SRPHelper; + //Get the dates for the tab panes + $dates = $tHelper->GetTimeFrameInMonths($months); + //Get the data for the Taxes Pane + foreach($dates as $date) { + //Get the srp actual pay out for the date range + $srpActual[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($srpHelper->GetAllianceSRPActual($date['start'], $date['end']), 2, ".", ","), + ]; + + //Get the srp loss value for the date range + $srpLoss[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($srpHelper->GetAllianceSRPLoss($date['start'], $date['end']), 2, ".", ","), + ]; + + //Get the pi taxes for the date range + $pis[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($tHelper->GetPIGross($date['start'], $date['end']), 2, ".", ","), + ]; + //Get the industry taxes for the date range + $industrys[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($tHelper->GetIndustryGross($date['start'], $date['end']), 2, ".", ","), + ]; + //Get the reprocessing taxes for the date range + $reprocessings[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($tHelper->GetReprocessingGross($date['start'], $date['end']), 2, ".", ","), + ]; + //Get the office taxes for the date range + $offices[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($tHelper->GetOfficeGross($date['start'], $date['end']), 2, ".", ","), + ]; + //Get the market taxes for the date range + $markets[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($tHelper->GetAllianceMarketGross($date['start'], $date['end']), 2, ".", ","), + ]; + //Get the jump gate taxes for the date range + $jumpgates[] = [ + 'date' => $date['start']->toFormattedDateString(), + 'gross' => number_format($tHelper->GetJumpGateGross($date['start'], $date['end']), 2, ".", ","), + ]; + } + + return view('admin.dashboards.taxes')->with('pis', $pis) + ->with('industrys', $industrys) + ->with('offices', $offices) + ->with('markets', $markets) + ->with('jumpgates', $jumpgates) + ->with('reprocessings', $reprocessings) + ->with('srpActual', $srpActual) + ->with('srpLoss', $srpLoss); + } + + /** + * Display wiki statistics + */ + public function displayWikiStatistics() { + $this->middleware('role:Admin'); + + + } + + /** + * Display SRP Statistics + */ + public function displaySRPStatistics() { + $months = 3; + $barChartData = array(); + $start = Carbon::now()->toDateTimeString(); + $end = Carbon::now()->subMonths(1)->toDateTimeString(); + + //Declare the Lavacharts variable + $lava = new Lavacharts; + + //We need a function from this library rather than recreating a new library + $srpHelper = new SRPHelper(); + + /** + * Pie chart for the number of approved, denied, and under review payouts currently in the system. + */ + //Get the count of open srp requests + $pieOpen = SRPShip::where([ + 'approved' => 'Under Review', + ['created_at', '>=', $end], + ])->count(); + //Get the count of approved srp requests + $pieApproved = SRPShip::where([ + 'approved' => 'Approved', + ['created_at', '>=', $end], + ])->count(); + //Get the count of denied srp requests + $pieDenied = SRPShip::where([ + 'approved' => 'Denied', + ['created_at', '>=', $end], + ])->count(); + + //Create a new datatable for the lavachart. + $srp = $lava->DataTable(); + //Add string columns, number columns, and data rows for the chart + $srp->addStringColumn('ISK Value') + ->addNumberColumn('ISK') + ->addRow(['Approved', $pieApproved]) + ->addRow(['Denied', $pieDenied]) + ->addRow(['Under Review', $pieOpen]); + //Create the pie chart in memory with any options needed to render the chart + $lava->PieChart('SRP Stats', $srp, [ + 'title' => 'SRP Stats', + 'is3D' => true, + ]); + + /** + * Gauage chart for showing number of open srp requests + */ + //Create a new datatable in the + $adur = $lava->DataTable(); + //Add string columns, number columns, and data row for the chart + $adur->addStringColumn('Type') + ->addNumberColumn('Value') + ->addRow(['Under Review', $pieOpen]); + //Create the gauge chart with any options needed to render the chart + $lava->GaugeChart('SRP', $adur, [ + 'width' => 400, + 'greenFrom' => 0, + 'greenTo' => 20, + 'yellowFrom' => 20, + 'yellowTo' => 40, + 'redFrom' => 40, + 'redTo' => 100, + 'majorTicks' => [ + 'Safe', + 'Critical', + ], + ]); + + /** + * Create a vertical chart of all of the cost codes for the ships being SRP'ed. + * The chart will be by cost code of ships being replaced + */ + //Declare the data table + $costCodeChart = $lava->DataTable(); + + //Get the approved, under review, and denied cost codes and amounts + $t1fdcApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T1FDC', + ])->sum('paid_value'); + $t1fdcUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T1FDC', + ])->sum('loss_value'); + $t1fdcDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T1FDC', + ])->sum('loss_value'); + + $t1bcApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T1BC', + ])->sum('paid_value'); + $t1bcUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T1BC', + ])->sum('loss_value'); + $t1bcDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T1BC', + ])->sum('loss_value'); + + $t2fdApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T2FD', + ])->sum('paid_value'); + $t2fdUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T2FD', + ])->sum('loss_value'); + $t2fdDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T2FD', + ])->sum('loss_value'); + + $t3dApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T3D', + ])->sum('paid_value'); + $t3dUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T3D', + ])->sum('loss_value'); + $t3dDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T3D', + ])->sum('loss_value'); + + $t1t2logiApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T1T2Logi', + ])->sum('paid_value'); + $t1t2logiUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T1T2Logi', + ])->sum('loss_value'); + $t1t2logiDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T1T2Logi', + ])->sum('loss_value'); + + $reconsApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'REC', + ])->sum('paid_value'); + $reconsUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'REC', + ])->sum('loss_value'); + $reconsDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'REC', + ])->sum('loss_value'); + + $t2cApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T2C', + ])->sum('paid_value'); + $t2cUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T2C', + ])->sum('loss_value'); + $t2cDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T2C', + ])->sum('loss_value'); + + $t3cApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T3C', + ])->sum('paid_value'); + $t3cUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T3C', + ])->sum('loss_value'); + $t3cDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T3C', + ])->sum('loss_value'); + + $commandApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'COM', + ])->sum('paid_value'); + $commandUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'COM', + ])->sum('loss_value'); + $commandDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'COM', + ])->sum('loss_value'); + + $interdictorApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'INTD', + ])->sum('paid_value'); + $interdictorUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'INTD', + ])->sum('loss_value'); + $interdictorDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'INTD', + ])->sum('loss_value'); + + $t1bsApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'T1BS', + ])->sum('paid_value'); + $t1bsUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'T1BS', + ])->sum('loss_value'); + $t1bsDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'T1BS', + ])->sum('loss_value'); + + $dksApproved = SRPShip::where([ + 'approved' => 'Approved', + 'ship_type' => 'DKS', + ])->sum('paid_value'); + $dksUnderReview = SRPShip::where([ + 'approved' => 'Under Review', + 'ship_type' => 'DKS', + ])->sum('loss_value'); + $dksDenied = SRPShip::where([ + 'approved' => 'Denied', + 'ship_type' => 'DKS', + ])->sum('loss_value'); + + + //Add string column, number columns. + $costCodeChart->addStringColumn('SRP Costs') + ->addNumberColumn('Approved') + ->addNumberColumn('Under Review') + ->addNumberColumn('Denied') + ->addRow(['T1FDC', $t1fdcApproved, $t1fdcUnderReview, $t1fdcDenied]) + ->addRow(['T1BC', $t1bcApproved, $t1bcUnderReview, $t1bcDenied]) + ->addRow(['T1BS', $t1bsApproved, $t1bsUnderReview, $t1bsDenied]) + ->addRow(['T2FD', $t2fdApproved, $t2fdUnderReview, $t2fdDenied]) + ->addRow(['T2C', $t2cApproved, $t2cUnderReview, $t2cDenied]) + ->addRow(['T1T2Logi', $t1t2logiApproved, $t1t2logiUnderReview, $t1t2logiDenied]) + ->addRow(['T3D', $t3dApproved, $t3dUnderReview, $t3dDenied]) + ->addRow(['T3C', $t3cApproved, $t3cUnderReview, $t3cDenied]) + ->addRow(['RECON', $reconsApproved, $reconsUnderReview, $reconsDenied]) + ->addRow(['COMMAND', $commandApproved, $commandUnderReview, $commandDenied]) + ->addRow(['DKS', $dksApproved, $dksUnderReview, $dksDenied]); + + $lava->ColumnChart('Cost Codes', $costCodeChart, [ + 'columns' => 4, + 'title' => 'Cost Code SRP Chart', + 'titleTextStyle' => [ + 'color' => '#eb6b2c', + 'fontSize' => 14, + ], + ]); + + return view('srp.admin.statistics')->with('lava', $lava); + } +} diff --git a/app/Library/JumpBridges/JumpBridgeHelper.php b/app/Library/JumpBridges/JumpBridgeHelper.php new file mode 100644 index 000000000..efbbd9437 --- /dev/null +++ b/app/Library/JumpBridges/JumpBridgeHelper.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/app/Library/SRP/SRPHelper.php b/app/Library/SRP/SRPHelper.php index 9aa055dfb..a153efb35 100644 --- a/app/Library/SRP/SRPHelper.php +++ b/app/Library/SRP/SRPHelper.php @@ -17,6 +17,28 @@ class SRPHelper { // } + public function GetAllianceSRPActual($start, $end) { + $actual = 0.00; + + $actual = SRPShip::where([ + 'approved' => 'Approved', + ])->whereBetween('created_at', [$start, $end]) + ->sum('paid_value'); + + return $actual; + } + + public function GetAllianceSRPLoss($start, $end) { + $loss = 0.00; + + $loss = SRPShip::where([ + 'approved' => 'Approved', + ])->whereBetween('created_at', [$start, $end]) + ->sum('loss_value'); + + return $loss; + } + public function GetLossesByFC($start, $end) { $losses = array(); $fcs = null; diff --git a/app/Library/Taxes/TaxesHelper.php b/app/Library/Taxes/TaxesHelper.php index ef3fad812..b1a2499d8 100644 --- a/app/Library/Taxes/TaxesHelper.php +++ b/app/Library/Taxes/TaxesHelper.php @@ -33,28 +33,6 @@ class TaxesHelper { $this->end = $en; } - public function GetAllianceSRPActual($start, $end) { - $actual = 0.00; - - $actual = SRPShip::where([ - 'approved' => 'Approved', - ])->whereBetween('created_at', [$start, $end]) - ->sum('paid_value'); - - return $actual; - } - - public function GetAllianceSRPLoss($start, $end) { - $loss = 0.00; - - $loss = SRPShip::where([ - 'approved' => 'Approved', - ])->whereBetween('created_at', [$start, $end]) - ->sum('loss_value'); - - return $loss; - } - public function GetAllianceMarketGross($start, $end) { $revenue = 0.00;