#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Chromium-upgrade deel 1: Kennisdossier, Matrix, Fase0, Golden Standard."""
from cr_common import (build_docx, build_xlsx, FINDINGS, CONFORM_DETAILS,
                       MATRIX, SOURCES, BASE, DATE, meta)
from kd_cr_a import A
from kd_cr_b import B
from f0_cr import F0
from gs_cr_a import GA
from gs_cr_b import GB
from gs_cr_c import GC
from au_cr import MX_EXTRA

# ---------- 1. Kennisdossier ----------
d = build_docx(A + B, meta("KENNISDOSSIER", "Chroom VI \u2014 Blootstellingsbeheersing",
    f"JvG Consultancy \u2014 ChroomVI Kennisdossier v1.0 \u2014 {DATE} \u2014 Vertrouwelijk",
    sub2="Audit Project: Koole 003.056 / Wintershall Decommissioning",
    refline='Gebaseerd op 003.056 "Chromium VI Exposure Control Procedure" Rev A/Rev 1 (2026)',
    refline2="Documentreferentie: JvG-KD-CRVI-2026-002"))
d.save(f"{BASE}/ChroomVI_Kennisdossier_v1.0.docx")

# ---------- 2. Conformiteitsmatrix (XLSX) ----------
def risk(k):
    k = str(k)
    if k.startswith("P1"): return "ROOD"
    if k.startswith("P2"): return "ORANJE"
    return "GROEN"
mx_rows = [(r[0], "Arbobesluit H4/overig", r[1], r[2], r[3], r[4], risk(r[4]), "Zie audit " + r[0]) for r in MATRIX]
mx_rows += list(MX_EXTRA)
sum_rows = [
    ("COMPLIANCE AUDIT CHROOMVI 003.056 \u2014 SAMENVATTING", ""),
    ("", ""),
    ("Overall Verdict:", "HERZIENING VEREIST (H1-H5) v\u00f3\u00f3r projectuitvoering"),
    ("", ""),
    ("Classificatie", "Aantal"),
    ("P1 \u2014 Wettelijk verplicht, ontbreekt", "5 (+B13 normverwijzing)"),
    ("P2 \u2014 Verplicht/verwacht, onvolledig", "7 (+aanvullende regels)"),
    ("Conform", "6"),
    ("Totaal matrixregels", str(len(mx_rows))),
    ("", ""),
    ("Brondocument", "003.056 Rev A (02-03-2026) / Rev 1 (15-04-2026)"),
    ("Auditdatum", DATE),
    ("Auditor", "JvG Consultancy (Tier 3)"),
]
build_xlsx([
    ("Conformiteitsmatrix", ["#", "Kader", "Eis / Vereiste", "Bron", "Bevinding brondocument", "Status", "Risico", "Toelichting"], mx_rows, [5, 18, 40, 26, 42, 12, 10, 22]),
    ("Samenvatting", ["Kenmerk", "Waarde"], sum_rows, [36, 58]),
], f"{BASE}/Conformiteitsmatrix_ChroomVI_v1.0.xlsx")

# ---------- 3. Fase0 ----------
d = build_docx(F0, meta("FASE 0 DELIVERABLE PROPOSAL", "Chroom VI Compliance Audit \u2014 Koole 003.056",
    f"JvG Consultancy \u2014 Fase 0 Voorstel \u2014 {DATE} \u2014 Vertrouwelijk",
    sub2="Wintershall Decommissioning / Small Piece Removal \u2014 Offshore Noordzee",
    refline="Project: 2026-audit-koole-chromium-vi",
    refline2="Ter besluitvorming: Go / No-Go"))
d.save(f"{BASE}/Fase0_Deliverable_Proposal_Chromium_Audit_003.056.docx")

# ---------- 4. Golden Standard v2.0 ----------
GD = [("h1", "5A. Artikelsgewijze verdieping per wetsartikel (B1-B14)"),
      ("p", "Dit onderdeel toetst de eisen \u00e9\u00e9n voor \u00e9\u00e9n aan het brondocument: wettelijke eis, bevinding, status en oordeel. De tekst is ontleend aan het bevindingenregister van de audit (B1-B14).")]
for (bid, titel, prio, eis, bevinding, oordeel) in FINDINGS:
    GD += [
      ("h2", f"{bid} \u2014 {titel} ({prio})"),
      ("pb", "Wettelijke eis / kader: ", eis),
      ("pb", "Bevinding in het brondocument: ", bevinding),
      ("t", ["Aspect", "Status"], [["Klassificatie", oordeel]]),
    ]
GD += [
("h2", "B15-B18 \u2014 Conforme onderdelen (samengevat)"),
("p", "De volgende onderdelen zijn conform getoetst en vormen de sterke basis van de procedure:"),
]
for (cid, tekst) in CONFORM_DETAILS:
    GD += [("b", f"{cid}: {tekst}")]
GD += [
("h1", "5B. Bronnen van de audit"),
]
for (i, s) in enumerate(SOURCES, 1):
    GD += [("n", s)]
d = build_docx(GA + GB + GD + GC, meta("GOLDEN STANDARD AUDIT", "ChroomVI \u2014 Koole 003.056",
    f"JvG Consultancy \u2014 Golden Standard Audit ChroomVI 003.056 v2.0 \u2014 {DATE} \u2014 Vertrouwelijk",
    sub2="Diepgaande toetsing per wetsartikel \u2014 Wintershall Decommissioning",
    refline='Brondocument: 003.056 "Chromium VI Exposure Control Procedure" Rev A/Rev 1 (2026)',
    refline2="Format: Golden Standard Audit Asbest 003.059 v2.0"))
d.save(f"{BASE}/Golden_Standard_Audit_ChroomVI_003056_v2.0.docx")
print("Chromium deel 1 gereed.")
