@extends('layouts.default')

@section('title')
	@parent
	Общие расходы
@stop

@section('breadcrumbs')
	{{ Breadcrumbs::render('budget', $workProject) }}
@stop

@section('js')
  <script src="{{ asset('js/kmk-support.js') }}"></script>
	<script>
		function reload () {
			var params = kmkGiveGetParams(location.search);
			params['startDate'] = $('#startDate').val();
			params['endDate'] = $('#endDate').val();
			kmkSetBrowserAddressParams(kmkObjectToGetString(params, false));
			location.reload();
		}

		$(document).ready(function() {
			$('a.to-humanize').each(function() {
				$(this).html(humanizeNumber($(this).html()));
			});

			var startDate = $('#startDate')
				.datepicker({
					onClose: function( selectedDate ) {
						reload();
					}
				});
			var endDate = $('#endDate')
				.datepicker({
					onClose: function( selectedDate ) {
						reload();
					}
				});

			$('a.to-humanize').each(function() {
				$(this).html(humanizeNumber($(this).html()));
			});

			var today = new Date();
			$("#todayDate").data('date', today.getDate()+'.'+(parseInt(today.getMonth())+1)+'.'+today.getFullYear());
			today.setDate(today.getDate()-1);
			$("#yeasterdayDate").data('date', today.getDate()+'.'+(parseInt(today.getMonth())+1)+'.'+today.getFullYear());

			$('.btn-set-date').unbind('click').on('click', function(){
				$('#startDate').val($(this).data('date'));
				$('#endDate').val($(this).data('date'));
				reload();
				return false;
			});
			// --> сворачивание групп в таблице Информация по расходам
			var minusSign = '<em class="fa fa-minus-circle"></em>',
			    plusSign = '<em class="fa fa-plus-circle"></em>';

		  $.fn.slideFadeToggle = function(speed, easing, callback){
        return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);
      };

      $('body').on('click', '.group-header', function(){
				var raw = $(this).closest('.group-header-raw');
		    raw.nextUntil('.group-header-raw').slideFadeToggle('fast');

				if( raw.hasClass('open-header') ){
					raw.removeClass('open-header').addClass('close-header');
					$(this).find('.collapse-sign-my').html(plusSign);
				}else{
					raw.removeClass('close-header').addClass('open-header');
					$(this).find('.collapse-sign-my').html(minusSign);
				}
		    return false;
      });

			$('.collapse-sign-all').click(function(){
				var current = $(this);
				if( current.hasClass('open-group') ){
					current.html('<em class="fa fa-plus-circle" title="Развернуть детали групп"></em>');
					current.removeClass('open-group').addClass('close-group');

					$('.open-header').each(function(){
					  $(this).find('.group-header').click();
				  });
				}else{
					current.html('<em class="fa fa-minus-circle" title="Свернуть детали групп"></em>');
					current.removeClass('close-group').addClass('open-group');

					$('.close-header').each(function(){
					  $(this).find('.group-header').click();
				  });
				}
			});
			// <--
	  });
	</script>
@stop


@section('content')
	<div class="row">
		<div class="col-md-12">
			<div class="panel panel-default">
				@include('budget/menu')
				<div class="panel-body">
				  <form class="form-inline" role="form">
						Расходы за период:
						<div class="form-group">
						  <input id="startDate" name="startDate" class="form-control input-sm" value="{{ $startDate }}"/>
					  </div>
						<div class="form-group">
							<input id="endDate" name="endDate" class="form-control input-sm" value="{{ $endDate }}"/>
						</div>
					</form>
					<br>
					<div class="row">
						@if (User::find(Auth::user()->id)->hasRole(Role::ROLE_BUDGET))
			      <?php $budgetCostsGroups = BudgetCostGroup::orderBy('name')->get();	?>
						<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
							<div class="well well-sm">
								<p class="text-center"><b>Динамика общих расходов по месяцам проекта {{ $workProject->name }}</b></p>
								<div class="table-responsive">
									<table class="table table-condensed table-hover">
										<thead>
											<tr>
												<th>
													<button class="btn-info collapse-sign-all close-group">
														<em class="fa fa-plus-circle" title="Развернуть детали групп"></em>
													</button>
													Группы расходов
												</th>
												<th class="text-right">Итого</th>
												<th class="text-right" title="Все неархивные расходы независимо от выбранного периода дат">Текущий месяц</th>
												<?php $totalCostsInfoOutcome = $workProject->getProjectArchiveAllCostOutcome($startDate, $endDate); ?>
												@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
													<th class="text-right">{{ $workProject->getMonthName($totalCostOutcome->date) }}</th>
												@endforeach
											</tr>
										</thead>
										<tbody>
										@foreach ($budgetCostsGroups as $budgetCostsGroup)
											<!-- Выводим каждый массив по ключам от массива общих расходов, чтобы выводился 0, если по группе/статье не было расходов за месяц, иначе собъется порядок вывода-->
											  <tr class="group-header-raw close-header">
												  <td class="group-header">
														<b class="collapse-sign-my">
															<em class="fa fa-plus-circle"></em>
														</b>
													  <b>
													  	<a href="#">{{ $budgetCostsGroup->name }}</a>
													  </b>
												  </td>
													<?php // Текущий месяц
														$groupFactSum        = $budgetCostsGroup->getGroupSum($workProject->id);
														$groupFactSumOutcome = $budgetCostsGroup->getGroupSumOutcome($workProject->id);
													?>
													<td class="text-right" style="white-space:nowrap">
														<b><span class="to-humanize">{{ round($budgetCostsGroup->getArchiveGroupSumOutcome($workProject->id, $startDate, $endDate) + $groupFactSumOutcome, 2) }}</span> <i class="fa fa-rub"></i></b>
														<b class="text-td-small"><span class="to-humanize">{{ round($budgetCostsGroup->getArchiveGroupSum($workProject->id, $startDate, $endDate) + $groupFactSum, 2) }}</span> <i class="fa fa-rub"></i></b>
													</td>
													<td class="text-right" style="white-space:nowrap">
														<b><span class="to-humanize" data-value="{{ round($groupFactSumOutcome, 2) }}">{{ round($groupFactSumOutcome, 2) }}</span> <i class="fa fa-rub"></i></b>
														<b class="text-td-small"><span class="to-humanize" data-value="{{ $groupFactSum }}">{{ round($groupFactSum, 2) }}</span> <i class="fa fa-rub"></i></b>
													</td>
													<?php // архивные ГРУППА
														$groupFact        = $budgetCostsGroup->getProjectArchiveGroupSum($workProject->id, $startDate, $endDate);
														$groupFactOutcome = $budgetCostsGroup->getProjectArchiveGroupSumOutcome($workProject->id, $startDate, $endDate);
													?>
													@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
														<td class="text-right" style="white-space:nowrap">
															<?php
																if(isset($groupFactOutcome[$key])){ $sumOutcome = round($groupFactOutcome[$key]->sum, 2); } else{ $sumOutcome = 0; }
																if(isset($groupFact[$key])){ $sum = round($groupFact[$key]->sum, 2); } else{ $sum = 0; }
															?>
															<b><span class="to-humanize" data-value="{{ $sumOutcome }}">{{ $sumOutcome }}</span> <i class="fa fa-rub"></i></b>
															<b class="text-td-small"><span class="to-humanize" data-value="{{ $sum }}">{{ $sum }}</span> <i class="fa fa-rub"></i></b>
														</td>
													@endforeach
											  </tr>
											<?php
												$budgetCostsGroup->budgetCosts = $budgetCostsGroup->budgetCosts->sortBy(function ($budgetCost) {
													return $budgetCost->name;
												});
											?>
											@foreach ($budgetCostsGroup->budgetCosts as $budgetCost)
												<tr style="display: none;">
													<td><span class="table-list-child">{{ str_replace($budgetCostsGroup->name . '. ', '', $budgetCost->name) }}</span></td>
													<?php // Текущий месяц
																	$costSum        = $budgetCost->getSum($workProject->id);
																	$costSumOutcome = $budgetCost->getSumOutcome($workProject->id); ?>
													<td class="text-right" style="white-space:nowrap">
														<span class="to-humanize">{{ round($budgetCost->getArchivedSumOutcome($workProject->id, $startDate, $endDate) + $costSumOutcome, 2) }}</span> <i class="fa fa-rub"></i>
														<span class="text-td-small"><span class="to-humanize">{{ round($budgetCost->getArchivedSum($workProject->id, $startDate, $endDate) + $costSum, 2) }}</span> <i class="fa fa-rub"></i></span>
													</td>
													<td class="text-right" style="white-space:nowrap">
														<span class="to-humanize">{{ $costSumOutcome }}</span> <i class="fa fa-rub"></i>
														<span class="text-td-small"><span class="to-humanize">{{ $costSum }}</span> <i class="fa fa-rub"></i></span>
													</td>

														<?php // архивные СТАТЬЯ
																	$costSum        = $budgetCost->getProjectArchivedSum($workProject->id, $startDate, $endDate);
																	$costSumOutcome = $budgetCost->getProjectArchivedSumOutcome($workProject->id, $startDate, $endDate);
													  ?>
														@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
															<td class="text-right" style="white-space:nowrap">
																<?php
																  if(isset($costSumOutcome[$key])){ $sumOutcome = round($costSumOutcome[$key]->sum, 2); } else{ $sumOutcome = 0; }
																	if(isset($costSum[$key])){ $sum = round($costSum[$key]->sum, 2); } else{ $sum = 0; }  ?>
																<span class="to-humanize">{{ $sumOutcome }}</span> <i class="fa fa-rub"></i>
																<span class="text-td-small"><span class="to-humanize">{{ $sum }}</span> <i class="fa fa-rub"></i></span>
															</td>
                            @endforeach
												</tr>
											@endforeach
										@endforeach
										<tr class="group-header-raw">
											<td><b>Без группы</b></td>
											<?php
											  $unknownGroupSum = $workProject->getUnknownGroupSum();
												$unknownGroupSumOutcome = $workProject->getUnknownGroupSumOutcome();
											?>
											<td class="text-right" style="white-space:nowrap">
												<b><span class="to-humanize">{{ round($workProject->getArchiveUnknownGroupSumOutcome($startDate, $endDate) + $unknownGroupSumOutcome, 2) }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize">{{ round($workProject->getArchiveUnknownGroupSum($startDate, $endDate) + $unknownGroupSum, 2) }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Текущий месяц-->
											<td class="text-right" style="white-space:nowrap">
												<b><span class="to-humanize">{{ $unknownGroupSumOutcome }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize">{{ $unknownGroupSum }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Архивные БЕЗ ГРУППЫ-->
											<?php
												$costSum        = $workProject->getProjectArchiveUnknownGroupSum($startDate, $endDate);
												$costSumOutcome = $workProject->getProjectArchiveUnknownGroupSumOutcome($startDate, $endDate);
											?>
											@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
												<td class="text-right" style="white-space:nowrap">
													<?php
														if(isset($costSumOutcome[$key])){ $sumOutcome = round($costSumOutcome[$key]->sum, 2); } else{ $sumOutcome = 0; }
														if(isset($costSum[$key])){ $sum = round($costSum[$key]->sum, 2); } else{ $sum = 0; }  ?>
													<b><span class="to-humanize">{{ $sumOutcome }}</span> <i class="fa fa-rub"></i></b>
													<b class="text-td-small"><span class="to-humanize">{{ $sum }}</span> <i class="fa fa-rub"></i></b>
												</td>
											@endforeach
										</tr>
										<tr>
											<td title="Включено в итоговую сумму расходов проекта"><b>Без категории</b></td>
											<?php
											  $UnknownSum = $workProject->getUnknownSum();
												$UnknownSumOutcome = $workProject->getUnknownSumOutcome();
											?>
											<td class="text-right" style="white-space:nowrap" title="Включено в итоговую сумму расходов проекта">
												<b><span class="to-humanize">{{ round($workProject->getArchiveUnknownSumOutcome($startDate, $endDate) + $UnknownSumOutcome, 2) }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize">{{ round($workProject->getArchiveUnknownSum($startDate, $endDate) + $UnknownSum, 2) }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Текущий месяц-->
											<td class="text-right" style="white-space:nowrap" title="Включено в итоговую сумму расходов проекта">
												<b><span class="to-humanize">{{ $UnknownSumOutcome }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize">{{ $UnknownSum }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Архивные-->
											<?php
												$costSum        = $workProject->getProjectArchiveUnknownSum($startDate, $endDate);
												$costSumOutcome = $workProject->getProjectArchiveUnknownSumOutcome($startDate, $endDate);
											?>
											@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
												<td class="text-right" style="white-space:nowrap" title="Включено в итоговую сумму расходов проекта">
													<?php
														if(isset($costSumOutcome[$key])){ $sumOutcome = round($costSumOutcome[$key]->sum, 2); } else{ $sumOutcome = 0; }
														if(isset($costSum[$key])){ $sum = round($costSum[$key]->sum, 2); } else{ $sum = 0; }  ?>
													<b><span class="to-humanize">{{ $sumOutcome }}</span> <i class="fa fa-rub"></i></b>
													<b class="text-td-small"><span class="to-humanize">{{ $sum }}</span> <i class="fa fa-rub"></i></b>
												</td>
											@endforeach
										</tr>
										<tr>
											<td><b>На долги (входит в сумму итога)</b>
												<span class="text-td-small">На долги (не входит в сумму итога)</span></td>
											<?php
											  $unknownDebtSum = $workProject->getUnknownDebtSum();
												$unknownDebtSumOutcome = $workProject->getUnknownDebtSumOutcome();
											?>
											<td class="text-right" style="white-space:nowrap">
												<b><span class="to-humanize" title="Включено в итоговую сумму факт. расходов">{{ round($workProject->getArchiveUnknownDebtSumOutcome($startDate, $endDate) + $unknownDebtSumOutcome, 2) }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize" title="Не включено в итоговую сумму факт. расходов">{{ round($workProject->getArchiveUnknownDebtSum($startDate, $endDate) + $unknownDebtSum, 2) }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Текущий месяц-->
											<td class="text-right" style="white-space:nowrap">
												<b><span class="to-humanize" title="Включено в итоговую сумму факт. расходов">{{ $unknownDebtSumOutcome }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize" title="Не включено в итоговую сумму факт. расходов">{{ $unknownDebtSum }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Архивные ДОЛГИ-->
											<?php
											  $costSum        = $workProject->getProjectArchiveUnknownDebtSum($startDate, $endDate);
											  $costSumOutcome = $workProject->getProjectArchiveUnknownDebtSumOutcome($startDate, $endDate);
											?>
											@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
												<td class="text-right" style="white-space:nowrap" title="Включено в итоговую сумму расходов проекта">
													<?php
														if(isset($costSumOutcome[$key])){ $sumOutcome = round($costSumOutcome[$key]->sum, 2); } else{ $sumOutcome = 0; }
														if(isset($costSum[$key])){ $sum = round($costSum[$key]->sum, 2); } else{ $sum = 0; }
													?>
													<b><span class="to-humanize" title="Включено в итоговую сумму факт. расходов">{{ $sumOutcome }}</span> <i class="fa fa-rub"></i></b>
													<b class="text-td-small"><span class="to-humanize" title="Не включено в итоговую сумму факт. расходов">{{ $sum }}</span> <i class="fa fa-rub"></i></b>
												</td>
											@endforeach
										</tr>
										<tr>
											<td><b>Итого</b></td>
											<?php
											  $allCost = $workProject->getAllCost() - $workProject->getUnknownDebtSum();
											  $allCostOutcome = $workProject->getAllCostOutcome();
											?>
											<td class="text-right" style="white-space:nowrap">
												<b><span class="to-humanize">{{ round($workProject->getArchiveAllCostOutcome($startDate, $endDate) + $allCostOutcome, 2) }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize">{{ round($workProject->getArchiveAllCost($startDate, $endDate) - $workProject->getArchiveUnknownDebtSum($startDate, $endDate) + $allCost, 2)}}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!--Текущий месяц-->
											<td class="text-right" style="white-space:nowrap">
												<b><span class="to-humanize">{{ $allCostOutcome }}</span> <i class="fa fa-rub"></i></b>
												<b class="text-td-small"><span class="to-humanize">{{ round($allCost, 2) }}</span> <i class="fa fa-rub"></i></b>
											</td>
											<!-- Архивные   -->
											<?php
											  $projectArchiveAllCost = $workProject->getProjectArchiveAllCost($startDate, $endDate);
											  $projectArchiveUnknownDebtSum = $workProject->getProjectArchiveUnknownDebtSum($startDate, $endDate);
											?>
											@foreach($totalCostsInfoOutcome as $key => $totalCostOutcome)
												<td class="text-right" style="white-space:nowrap">
													<?php
														if(isset($projectArchiveAllCost[$key])){ $sumAll = round($projectArchiveAllCost[$key]->sum, 2); } else{ $sumAll = 0; }
														if(isset($projectArchiveUnknownDebtSum[$key])){ $sumUnknownDebt = round($projectArchiveUnknownDebtSum[$key]->sum, 2); } else{ $sumUnknownDebt = 0; }
													?>
													<b> <span class="to-humanize">{{ round($totalCostOutcome->sum, 2) }}</span> <i class="fa fa-rub"></i></b>
													<b class="text-td-small"><span class="to-humanize">{{ round($sumAll-$sumUnknownDebt, 2) }}</span> <i class="fa fa-rub"></i></b>
												</td>
											@endforeach
										</tr>
										</tbody>
									</table>
								</div>
								@if ($user->hasRole(Role::ROLE_BUDGET))
									<!--<a class="btn btn-sm btn-primary pull-right" href="{{ action('BudgetController@totalArchiveCostExport', array($startDate, $endDate)) }}" target="_blank">Экспорт в Excel</a>-->
									<div class="clearfix"></div>
								@endif
							</div>
						</div>
						@endif
					</div>
				</div>
			</div>
		</div>
	</div>
@stop
