structure controller
This commit is contained in:
@@ -43,84 +43,15 @@ class StructureController extends Controller
|
|||||||
'thisMonthRevRefinery' => $this->GetRevenue($corpId, 'Refinery', $dates['ThisMonthStart'], $dates['ThisMonthEnd']),
|
'thisMonthRevRefinery' => $this->GetRevenue($corpId, 'Refinery', $dates['ThisMonthStart'], $dates['ThisMonthEnd']),
|
||||||
'lastMonthRevMarket' => $this->GetRevenue($corpId, 'Market', $dates['LastMonthStart'], $dates['LastMonthEnd']),
|
'lastMonthRevMarket' => $this->GetRevenue($corpId, 'Market', $dates['LastMonthStart'], $dates['LastMonthEnd']),
|
||||||
'lastMonthRevRefinery' => $this->GetRevenue($corpId, 'Refinery', $dates['LastMonthStart'], $dates['LastMonthEnd']),
|
'lastMonthRevRefinery' => $this->GetRevenue($corpId, 'Refinery', $dates['LastMonthStart'], $dates['LastMonthEnd']),
|
||||||
|
'thisMonthStart' => $dates['ThisMonthStart'],
|
||||||
|
'thisMonthEnd' => $dates['ThisMonthEnd'],
|
||||||
|
'lastMonthStart' => $dates['LastMonthStart'],
|
||||||
|
'lastMonthEnd' => $dates['LastMonthEnd'],
|
||||||
];
|
];
|
||||||
|
|
||||||
return view('structures.taxes')->with('totalTaxes', $totalTaxes);
|
return view('structures.taxes')->with('totalTaxes', $totalTaxes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function displayTaxesHistory() {
|
|
||||||
//Make the helper ESI Class
|
|
||||||
$helper = new Esi();
|
|
||||||
//Make the helper class for finances
|
|
||||||
$hFinances = new FinanceHelper();
|
|
||||||
|
|
||||||
//Get the character's corporation from esi
|
|
||||||
$corporation = $helper->FindCorporationName(Auth::user()->character_id);
|
|
||||||
$corpId = $helper->FindCorporationId(Auth::user()->character_id);
|
|
||||||
|
|
||||||
//Set the carbon date for the first day of this month, last day of this month
|
|
||||||
$currentStart = Carbon::now()->startOfMonth();
|
|
||||||
$currentEnd = Carbon::now()->endOfMonth();
|
|
||||||
//Setup the currentEnd to end at 23:59:59
|
|
||||||
$currentEnd->hour = 23;
|
|
||||||
$currentEnd->minute = 59;
|
|
||||||
$currentEnd->second = 59;
|
|
||||||
|
|
||||||
$dates = $this->RenderDates();
|
|
||||||
$totalTaxes = array();
|
|
||||||
$i = 0;
|
|
||||||
foreach($dates as $date) {
|
|
||||||
//Get the taxes for each month and store in the totalTaxes array and store the date as well.
|
|
||||||
$start = $date;
|
|
||||||
$end = new Carbon($date);
|
|
||||||
$end = $end->endOfMonth();
|
|
||||||
$end->hour = 23;
|
|
||||||
$end->minute = 59;
|
|
||||||
$end->second = 59;
|
|
||||||
|
|
||||||
//Get the number of structures registered to a corporation
|
|
||||||
$citadelCount = DB::select("SELECT COUNT(structure_name) FROM CorpStructures WHERE corporation_id='" . $corporation . "' AND structure_type='Citadel'");
|
|
||||||
|
|
||||||
//Get the taxes for each type from the database
|
|
||||||
$marketTaxes = DB::select("SELECT SUM(amount) FROM CorpJournals WHERE ref_type='brokers_fee' AND corporation_id='" . $corpId . "' AND date BETWEEN '" . $start . "' AND '" . $end . "'");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* In this next section we are going to remove the cost of fuel blocks from the structure taxes
|
|
||||||
*/
|
|
||||||
//Market Taxes with fuel blocks added in
|
|
||||||
$marketTaxes = $marketTaxes - ($hFinances->CalculateFuelBlockCost('market') * $citadelCount);
|
|
||||||
if($marketTaxes < 0.00) {
|
|
||||||
$marketTaxes = 0.00;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Add to the totalTaxes array to be sent out with the view
|
|
||||||
$totalTaxes[$i] = [
|
|
||||||
'date' => $start,
|
|
||||||
'market' => number_format($marketTaxes, 2, '.', ','),
|
|
||||||
];
|
|
||||||
//Increment $i for the next iteration
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Return the data to the view
|
|
||||||
return view('structures.taxhistory')->with('totalTaxes', $totalTaxes);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function RenderDates()
|
|
||||||
{
|
|
||||||
$start = Carbon::now()->subYear()->startOfYear();
|
|
||||||
$months_to_render = Carbon::now()->diffInMonths($start);
|
|
||||||
|
|
||||||
$dates = [];
|
|
||||||
|
|
||||||
for($i = 0; $i <= $months_to_render; $i++) {
|
|
||||||
$dates[] = $start->toDateTimeString();
|
|
||||||
$start->addMonth();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $dates;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function GetTaxes($corpId, $refType, $start, $end) {
|
private function GetTaxes($corpId, $refType, $start, $end) {
|
||||||
$taxOwed = 0.00;
|
$taxOwed = 0.00;
|
||||||
//Get the number of structures of a certain type
|
//Get the number of structures of a certain type
|
||||||
@@ -139,7 +70,7 @@ class StructureController extends Controller
|
|||||||
//Get the total taxes produced by the structure(s) over a given set of dates
|
//Get the total taxes produced by the structure(s) over a given set of dates
|
||||||
$revenue = $this->GetRevenue($corpId, $refType, $start, $end);
|
$revenue = $this->GetRevenue($corpId, $refType, $start, $end);
|
||||||
//Calculate the tax owed which is revenue divided by ratio previously calculated
|
//Calculate the tax owed which is revenue divided by ratio previously calculated
|
||||||
$taxOwed = floatval($revenue) / floatval($ratio);
|
$taxOwed = floatval($revenue / $ratio);
|
||||||
//Check for negative number, and if negative, zero it out.
|
//Check for negative number, and if negative, zero it out.
|
||||||
if($taxOwed < 0.00){
|
if($taxOwed < 0.00){
|
||||||
$taxOwed = 0.00;
|
$taxOwed = 0.00;
|
||||||
@@ -151,14 +82,14 @@ class StructureController extends Controller
|
|||||||
|
|
||||||
private function GetRevenue($corpId, $refType, $start, $end) {
|
private function GetRevenue($corpId, $refType, $start, $end) {
|
||||||
$revenue = 0.00;
|
$revenue = 0.00;
|
||||||
if($refType === 'Market') {
|
if($refType == 'Market') {
|
||||||
$revenue = floatval(CorpJournal::where(['ref_type' => 'brokers_fee', 'corporation_id' => $corpId])
|
$revenue = CorpJournal::where(['ref_type' => 'brokers_fee', 'corporation_id' => $corpId])
|
||||||
->whereBetween('date', [$start, $end])
|
->whereBetween('date', [$start, $end])
|
||||||
->sum('amount'));
|
->sum('amount');
|
||||||
} else if($refType === 'Refinery'){
|
} else if($refType == 'Refinery'){
|
||||||
$revenue = floatval(CorpJournal::where(['ref_type' => 'reprocessing_tax', 'corporation_id' => $corpId])
|
$revenue = CorpJournal::where(['ref_type' => 'reprocessing_tax', 'corporation_id' => $corpId])
|
||||||
->whereBetween('date', [$start, $end])
|
->whereBetween('date', [$start, $end])
|
||||||
->sum('amount'));
|
->sum('amount');
|
||||||
} else {
|
} else {
|
||||||
$revenue = 0.00;
|
$revenue = 0.00;
|
||||||
}
|
}
|
||||||
@@ -171,9 +102,9 @@ class StructureController extends Controller
|
|||||||
//The alliance will get a ratio of the tax.
|
//The alliance will get a ratio of the tax.
|
||||||
//We need to calculate the correct ratio based on structure tax,
|
//We need to calculate the correct ratio based on structure tax,
|
||||||
//Then figure out what is owed to the alliance
|
//Then figure out what is owed to the alliance
|
||||||
if($type === 'Market') {
|
if($type == 'Market') {
|
||||||
$ratioType = 2.0;
|
$ratioType = 2.0;
|
||||||
} else if($type === 'Refinery') {
|
} else if($type == 'Refinery') {
|
||||||
$ratioType = 1.0;
|
$ratioType = 1.0;
|
||||||
} else {
|
} else {
|
||||||
$ratioType = 1.0;
|
$ratioType = 1.0;
|
||||||
|
|||||||
Reference in New Issue
Block a user