@php
// Emission items configuration
$emission_items = [
'InputsGoods_and_materials', 'Transport', 'InputsServices', 'EndOfLife',
'Energy', 'Freight', 'UseAndDependence', 'FixedAssets',
'OtherDirectEmissions', 'DirectWaste'
];
// Map existing emissions for lookup (stored under 'emission_items')
$existing_emissions = $submission->data['emission_items'] ?? [];
$existing_by_label = [];
foreach ($existing_emissions as $item) {
if (!empty($item['label'])) {
$existing_by_label[$item['label']] = $item;
}
}
// Uncertainty options
$uncertaintyOptions = [
'very_bad' => trans('cosiri_html.uncertainty.very_bad') ?? 'very_bad',
'bad' => trans('cosiri_html.uncertainty.bad') ?? 'bad',
'fair' => trans('cosiri_html.uncertainty.fair') ?? 'fair',
'good' => trans('cosiri_html.uncertainty.good') ?? 'good',
'very_good' => trans('cosiri_html.uncertainty.very_good') ?? 'very_good',
'excellent' => trans('cosiri_html.uncertainty.excellent') ?? 'excellent'
];
// Calculate initial sum
$initialSum = 0.0;
$hasOld = false;
foreach ($emission_items as $ii => $lbl) {
if (!is_null(old('emission_items.' . $ii . '.value'))) {
$hasOld = true;
break;
}
}
if ($hasOld) {
foreach ($emission_items as $ii => $lbl) {
$val = old('emission_items.' . $ii . '.value');
if (is_numeric($val)) $initialSum += (float)$val;
}
} else {
foreach ($emission_items as $lbl) {
$val = $existing_by_label[$lbl]['value'] ?? null;
if (is_numeric($val)) $initialSum += (float)$val;
}
}
$prefillFootprintUncertainty = old('footprint_uncertainty', $submission->data['footprint_uncertainty'] ?? 'very_good');
@endphp
{{ trans('cosiri.total_carbon_footprint') }}
{{ number_format($initialSum, 2) }}
{{ trans('cosiri.co2e_unit') }}
{{ trans('cosiri.overall_uncertainty_level') }}
@foreach ($uncertaintyOptions as $optKey => $optLabel)
{{ $optLabel }}
@endforeach
{{ trans('cosiri.emission_table_label') }}
{{ trans('cosiri.emission_table_value') }}
{{ trans('cosiri.emission_table_uncertainty') }}
@foreach ($emission_items as $i => $label)
@php
$prefilledValue = old('emission_items.' . $i . '.value', $existing_by_label[$label]['value'] ?? '');
$prefilledUncertainty = old('emission_items.' . $i . '.uncertainty', $existing_by_label[$label]['uncertainty'] ?? 'very_good');
@endphp
{{ trans('cosiri_html.EmissionFootPrint.' . $label) }}
@foreach ($uncertaintyOptions as $optKey => $optLabel)
{{ $optLabel }}
@endforeach
@endforeach
@php
// Emissions structure configuration
$emissions_structure = [
'DirectGES' => [
'subCat' => [
'DirectFixedCombustion' => null, 'DirectMobileCombustion' => null,
'DirectProcessNonEnergy' => null, 'DirectFugitive' => null, 'DirectBiomass' => null
]
],
'IndirectEnergy' => [
'subCat' => ['IndirectElectricity' => null, 'IndirectSteamHeatCold' => null]
],
'IndirectTransport' => [
'subCat' => [
'TransportUpstream' => null, 'TransportDownstream' => null,
'Commute' => null, 'VisitorClientTransport' => null, 'BusinessTravel' => null
]
],
'IndirectPurchasedProducts' => [
'subCat' => [
'GoodsPurchase' => null, 'FixedAssetsPurchase' => null,
'WasteManagement' => null, 'UpstreamLeasedAssets' => null, 'ServicesPurchase' => null
]
],
'IndirectSoldProducts' => [
'subCat' => [
'ProductUse' => null, 'DownstreamLeasedAssets' => null,
'EndOfLife' => null, 'Investments' => null
]
],
'OtherIndirect' => [
'subCat' => ['OtherIndirectEmissions' => null]
]
];
$gas_fields = [
'co2' => 'CO₂', 'ch4' => 'CH₄', 'n2o' => 'N₂O',
'other_gases' => trans('cosiri_html.other_gases'), 'co2b' => 'CO₂b'
];
$existing_detailed_emissions = $submission->data['emissions_details'] ?? [];
$categoryTotals = [];
$hasOldDetailed = false;
foreach ($emissions_structure as $cK => $cat) {
foreach ($cat['subCat'] as $sK => $sL) {
foreach ($gas_fields as $gK => $gL) {
if (!is_null(old("emissions_details.{$cK}.subCat.{$sK}.{$gK}"))) {
$hasOldDetailed = true;
break 3;
}
}
}
}
foreach ($emissions_structure as $cK => $cat) {
foreach ($gas_fields as $gK => $gL) {
$sum = 0;
foreach ($cat['subCat'] as $sK => $sL) {
$v = $hasOldDetailed ? old("emissions_details.{$cK}.subCat.{$sK}.{$gK}", '') : ($existing_detailed_emissions[$cK]['subCat'][$sK][$gK] ?? null);
if (is_numeric($v)) $sum += (float)$v;
}
$categoryTotals[$cK][$gK] = $sum;
}
}
// initial detailed sum now defined as sum of the first two categories excluding 'co2b'
$initialDetailedSum = 0.0;
$categoryKeys = array_keys($emissions_structure);
$firstTwo = array_slice($categoryKeys, 0, 2);
foreach ($firstTwo as $cK) {
foreach ($gas_fields as $gK => $gL) {
if ($gK === 'co2b') continue; // exclude CO2b
$initialDetailedSum += $categoryTotals[$cK][$gK] ?? 0;
}
}
$prefillEmissionsDetailsUncertainty = old('emissions_details_uncertainty', $submission->data['emissions_details_uncertainty'] ?? 'very_good');
@endphp
{{ trans('cosiri.detailed_emissions_total') }}
{{ number_format($initialDetailedSum, 2) }}
CO₂e
{{ trans('cosiri.overall_uncertainty_level') }}
@foreach ($uncertaintyOptions as $optKey => $optLabel)
{{ $optLabel }}
@endforeach
@php
$initialTotalBilanCarbone = old('total_bilan_carbone', $submission->data['total_bilan_carbone'] ?? 0);
$initialGesReglementaire = old('total_ges_reglementaire', $submission->data['total_ges_reglementaire'] ?? 0);
if (!is_numeric($initialTotalBilanCarbone)) $initialTotalBilanCarbone = 0;
if (!is_numeric($initialGesReglementaire)) $initialGesReglementaire = 0;
@endphp
{{ trans('cosiri_html.carbonFootprint') ?? 'Total bilan carbone' }}
{{ trans('cosiri_html.regulatory_ghg_balance') }}