@php $planSchemeA3 = $reportWizardPlanScheme ?? null; $planLinkedA3 = $planSchemeA3 !== null; $plannedVisitPrefill = $reportMonitoringPlannedVisitDatePrefill ?? ''; $lastVisitPrefill = $reportMonitoringLastVisitPrefill ?? ['date' => '', 'assessment_status' => '']; $pA3 = $reportPayload ?? report_wizard_payload_array(is_array($report ?? null) ? $report : null); $plannedVisitDisplay = report_wizard_old('part_a.monitoring_visit.planned_visit_date', $plannedVisitPrefill, $pA3); $plannedVisitHasPrefill = $plannedVisitPrefill !== ''; $lastVisitDateDisplay = trim((string) report_wizard_old('part_a.monitoring_visit.last_visit_date', $lastVisitPrefill['date'] ?? 'N/A', $pA3)); $lastVisitStatusDisplay = trim((string) report_wizard_old('part_a.monitoring_visit.last_visit_assessment_status', $lastVisitPrefill['assessment_status'] ?? 'N/A', $pA3)); if ($lastVisitDateDisplay === '') { $lastVisitDateDisplay = 'N/A'; } if ($lastVisitStatusDisplay === '') { $lastVisitStatusDisplay = 'N/A'; } $reportingOfficerPrefill = $reportMonitoringReportingOfficerPrefill ?? ['name' => '', 'designation' => '']; $reportingOfficerNameDisplay = report_wizard_old('part_a.monitoring_visit.reporting_officer_name', $reportingOfficerPrefill['name'] ?? '', $pA3); $reportingOfficerDesDisplay = report_wizard_old('part_a.monitoring_visit.reporting_officer_designation', $reportingOfficerPrefill['designation'] ?? '', $pA3); $reportingOfficerLocked = $planLinkedA3 && trim((string) ($reportingOfficerPrefill['name'] ?? '')) !== ''; $mecPrefill = $reportMonitoringMecTeamPrefillRows ?? []; $mecUserOptions = $reportMecTeamUserOptions ?? []; $isMecTeamRowPlanLocked = static function (array $pair) use ($planLinkedA3, $mecPrefill): bool { if (! $planLinkedA3 || $mecPrefill === []) { return false; } $name = strtolower(trim((string) ($pair['name'] ?? ''))); if ($name === '') { return false; } foreach ($mecPrefill as $prefillRow) { if ($name === strtolower(trim((string) ($prefillRow['name'] ?? '')))) { return true; } } return false; }; $oldMecNames = report_wizard_old('part_a.monitoring_visit.mec_team_names', null, $pA3); $oldMecDes = report_wizard_old('part_a.monitoring_visit.mec_team_designations', null, $pA3); if (is_array($oldMecNames) || is_array($oldMecDes)) { $names = is_array($oldMecNames) ? array_values(array_map(static fn ($v) => (string) $v, $oldMecNames)) : []; $dess = is_array($oldMecDes) ? array_values(array_map(static fn ($v) => (string) $v, $oldMecDes)) : []; $n = max(count($names), count($dess)); $mecPairRows = []; for ($i = 0; $i < $n; $i++) { $pair = ['name' => (string) ($names[$i] ?? ''), 'designation' => (string) ($dess[$i] ?? '')]; if (trim($pair['name']) !== '' || trim($pair['designation']) !== '') { $mecPairRows[] = array_merge($pair, ['locked' => $isMecTeamRowPlanLocked($pair)]); } } } elseif ( report_wizard_old('part_a.monitoring_visit.mec_team_name', null, $pA3) !== null && (string) report_wizard_old('part_a.monitoring_visit.mec_team_name', '', $pA3) !== '' ) { $pair = [ 'name' => (string) report_wizard_old('part_a.monitoring_visit.mec_team_name', '', $pA3), 'designation' => (string) report_wizard_old('part_a.monitoring_visit.mec_team_designation', '', $pA3), ]; $mecPairRows = [array_merge($pair, ['locked' => $isMecTeamRowPlanLocked($pair)])]; } elseif (count($mecPrefill) > 0 && data_get($pA3, 'part_a.monitoring_visit.mec_team_names') === null) { $mecPairRows = array_map( static fn (array $row) => array_merge($row, ['locked' => true]), $mecPrefill ); } else { $mecPairRows = []; } $oldAdNames = report_wizard_old('part_a.monitoring_visit.ad_ea_officer_names', null, $pA3); $oldAdDes = report_wizard_old('part_a.monitoring_visit.ad_ea_officer_designations', null, $pA3); if (is_array($oldAdNames) || is_array($oldAdDes)) { $names = is_array($oldAdNames) ? array_values(array_map(static fn ($v) => (string) $v, $oldAdNames)) : []; $dess = is_array($oldAdDes) ? array_values(array_map(static fn ($v) => (string) $v, $oldAdDes)) : []; $n = max(count($names), count($dess), 1); $adEaPairRows = []; for ($i = 0; $i < $n; $i++) { $adEaPairRows[] = ['name' => (string) ($names[$i] ?? ''), 'designation' => (string) ($dess[$i] ?? '')]; } } elseif ( report_wizard_old('part_a.monitoring_visit.ad_ea_officer_name', null, $pA3) !== null && (string) report_wizard_old('part_a.monitoring_visit.ad_ea_officer_name', '', $pA3) !== '' ) { $adEaPairRows = [[ 'name' => (string) report_wizard_old('part_a.monitoring_visit.ad_ea_officer_name', '', $pA3), 'designation' => (string) report_wizard_old('part_a.monitoring_visit.ad_ea_officer_designation', '', $pA3), ]]; } else { $adEaPairRows = [['name' => '', 'designation' => '']]; } @endphp {{-- Part A §3 — Monitoring Visit History (same green table as §1–§2; title from collapsible only) --}}
| Last Visit Date (if any) | Last Visit's Assessment Status | ||
|---|---|---|---|
| Planned Visit Date | @if ($planLinkedA3) @if ($plannedVisitHasPrefill) @endif @else @endif @error('report.part_a.monitoring_visit.planned_visit_date') {{ $message }} @enderror @if ($planLinkedA3) From this scheme’s planned visit date on the visit plan. @endif | Current Visit Date | @error('report.part_a.monitoring_visit.current_visit_date') {{ $message }} @enderror |
| Reason for Delay (if any) |
|
||
| A.D/E.A Officer(s) during visit |
@foreach ($adEaPairRows as $idx => $pair)
|
||
| Reporting Officer |
@if ($reportingOfficerNameDisplay !== '')
@endif
@if ($reportingOfficerDesDisplay !== '')
@endif
|
||
| MEC Team During the Visit |
@foreach ($mecPairRows as $idx => $pair)
@php $mecLocked = ! empty($pair['locked']); @endphp
@if ($mecLocked)
@else
@endif
@if ($mecLocked)
@else
@endif
|
||
| Community/Stakeholder feedback | @error('report.part_a.monitoring_visit.stakeholder_feedback') {{ $message }} @enderror | ||
| Remarks | @error('report.part_a.monitoring_visit.remarks') {{ $message }} @enderror | ||