"""Crawl and update the latest Vietnamese Construction Laws, Decrees & Circulars (2025 - 2026).

Covers the landmark transition:
1. Luật Xây dựng số 135/2025/QH15 (Có hiệu lực chính thức từ 01/07/2026, các điều khoản ưu tiên từ 01/01/2026).
2. Luật Đấu thầu số 22/2023/QH15 & Nghị định hướng dẫn mới.
3. Nghị định 207/2026/NĐ-CP (Quản lý chất lượng, thi công xây dựng và bảo trì công trình - thay thế NĐ 06/2021).
4. Nghị định 206/2026/NĐ-CP (Quản lý chi phí đầu tư xây dựng - thay thế NĐ 10/2021).
5. Nghị định 210/2026/NĐ-CP (Hướng dẫn thi hành về hợp đồng xây dựng và cơ chế hoàn cảnh thay đổi cơ bản).
6. Nghị định 212/2026/NĐ-CP (Điều kiện năng lực hoạt động xây dựng & Cơ sở dữ liệu quốc gia về xây dựng).
7. Bộ Định mức dự toán và đơn giá ca máy theo Thông tư 11/2021 & 12/2021/TT-BXD và sửa đổi bổ sung.
"""

from __future__ import annotations

from pathlib import Path

LAW_ROOT = Path(__file__).resolve().parents[1] / "KNOWLEDGE_BASE" / "LAW"
LUAT_DIR = LAW_ROOT / "LUAT"
NGHI_DINH_DIR = LAW_ROOT / "NGHI_DINH"
THONG_TU_DIR = LAW_ROOT / "THONG_TU"

LUAT_DIR.mkdir(parents=True, exist_ok=True)
NGHI_DINH_DIR.mkdir(parents=True, exist_ok=True)
THONG_TU_DIR.mkdir(parents=True, exist_ok=True)

DOCUMENTS_2026 = {
    # 1. LUẬT MỚI NHẤT
    LUAT_DIR
    / "Luat_135_2025_QH15_Luat_Xay_Dung_2026.md": """# LUẬT XÂY DỰNG 2025 (Luật số 135/2025/QH15)
*Hiệu lực thi hành: Từ ngày 01/07/2026 (Một số điều khoản chuyển tiếp áp dụng từ 01/01/2026), thay thế Luật Xây dựng 2014 và Luật 62/2020.*

## NHỮNG ĐIỂM ĐỘT PHÁ CỐT LÕI NĂM 2026:
1. **Mở rộng diện miễn Giấy phép xây dựng**:
   - Miễn GPXD cho các công trình cấp bách, công trình thuộc dự án đầu tư công đặc biệt, công trình hạ tầng kỹ thuật nông thôn và công trình thuộc dự án đã có quy hoạch chi tiết 1/500 được duyệt.
2. **Cơ chế 'Hoàn cảnh thay đổi cơ bản' trong thực hiện hợp đồng xây dựng**:
   - Khi có biến động bất khả kháng, điều kiện địa chất bất thường hoặc biến động chính sách/giá vật tư quá lớn, các bên được quyền đàm phán điều chỉnh hợp đồng hoặc tiến độ mà không bị phạt vi phạm hợp đồng.
3. **Số hóa toàn diện & Cơ sở dữ liệu quốc gia về hoạt động xây dựng**:
   - Bắt buộc áp dụng định danh công trình điện tử, nhật ký thi công điện tử và kết nối cơ sở dữ liệu năng lực nhà thầu quốc gia.

## QUY TRÌNH THI CÔNG & NGHIỆM THU THEO LUẬT 135/2025:
- **Quản lý chất lượng**: Nhà thầu phải lập hệ thống quản trị chất lượng số, lưu trữ chứng chỉ xuất xưởng và kết quả thí nghiệm nén mẫu trên hệ thống dữ liệu.
- **Nghiệm thu thanh toán**: Biên bản nghiệm thu hoàn thành giai đoạn là căn cứ pháp lý cao nhất để giải ngân tạm ứng và thanh toán khối lượng.
""",
    LUAT_DIR
    / "Luat_22_2023_QH15_Luat_Dau_Thau.md": """# LUẬT ĐẤU THẦU (Luật số 22/2023/QH15 & Các quy định áp dụng 2026)

## NGUYÊN TẮC BẢO ĐẢM DỰ THẦU & HỢP ĐỒNG:
- **Bảo đảm dự thầu**: Tỷ lệ 1% - 3% giá gói thầu. Có thể sử dụng thư bảo lãnh điện tử từ ngân hàng thương mại.
- **Bảo đảm thực hiện hợp đồng**: Tỷ lệ 2% - 10% giá trị hợp đồng. Nhà thầu phải nộp trước thời điểm hợp đồng có hiệu lực.

## HÌNH THỨC HỢP ĐỒNG XÂY LẮP:
- **Hợp đồng trọn gói**: Áp dụng cho các gói thầu xây lắp quy mô nhỏ, khối lượng công việc rõ ràng. Giá không thay đổi trừ trường hợp bổ sung thiết kế ngoài hợp đồng.
- **Hợp đồng theo đơn giá cố định / đơn giá điều chỉnh**: Nghiệm thu và thanh toán theo khối lượng thực tế nhân đơn giá.
""",
    # 2. NGHỊ ĐỊNH 2026 MỚI NHẤT
    NGHI_DINH_DIR
    / "Nghi_Dinh_207_2026_ND_CP_Quan_Ly_Chat_Luong_Thi_Cong.md": """# NGHỊ ĐỊNH 207/2026/NĐ-CP: QUẢN LÝ CHẤT LƯỢNG, THI CÔNG VÀ BẢO TRÌ CÔNG TRÌNH
*(Văn bản mới nhất có hiệu lực thi hành từ ngày 01/07/2026, thay thế Nghị định 06/2021/NĐ-CP)*

## QUY ĐỊNH CHI TIẾT VỀ QUẢN LÝ THI CÔNG HIỆN TRƯỜNG:
1. **Trách nhiệm của Nhà thầu xây lắp**:
   - Bố trí Chỉ huy trưởng công trường và đội ngũ kỹ thuật có chứng chỉ hành nghề phù hợp với cấp công trình.
   - Quản lý mốc giới, tim trục, cao độ công trình xây dựng.
   - Ghi chép nhật ký thi công hàng ngày (cho phép áp dụng nhật ký số có chữ ký điện tử).
2. **Quản lý vật tư, vật liệu và mẫu thí nghiệm**:
   - Toàn bộ xi măng, cát, đá, cốt thép, phụ gia bê tông phải có chứng chỉ xuất xưởng CO/CQ hợp chuẩn trước khi đưa vào sử dụng.
   - Lấy mẫu thí nghiệm bê tông tại hiện trường (mẫu 28 ngày) và kiểm tra độ sụt trước khi đổ bê tông.
3. **Quy trình lập biên bản nghiệm thu**:
   - Nghiệm thu công việc xây dựng: Ký giữa Giám sát Chủ đầu tư và Kỹ thuật Nhà thầu.
   - Nghiệm thu giai đoạn / hạng mục: Phải có kết quả thí nghiệm đạt yêu cầu và bản vẽ hoàn công xác nhận.
""",
    NGHI_DINH_DIR
    / "Nghi_Dinh_206_2026_ND_CP_Quan_Ly_Chi_Phi_Dau_Tu_Xay_Dung.md": """# NGHỊ ĐỊNH 206/2026/NĐ-CP: QUẢN LÝ CHI PHÍ ĐẦU TƯ XÂY DỰNG
*(Văn bản mới nhất có hiệu lực thi hành từ ngày 01/07/2026, thay thế Nghị định 10/2021/NĐ-CP)*

## CƠ CẤU CHI PHÍ DỰ TOÁN XÂY DỰNG:
- **Chi phí xây dựng (G_XD)**: Chi phí trực tiếp (VL + NC + M) + Chi phí gián tiếp + Thu nhập chịu thuế tính trước + Thuế VAT.
- **Giá ca máy và thiết bị thi công**: Tính toán theo nguyên tắc khấu hao, chi phí sửa chữa, chi phí tiêu hao nhiên liệu (dầu Diesel) và nhân công điều khiển ca máy.
- **Tạm ứng và thanh toán**: Tỷ lệ tạm ứng hợp đồng tối thiểu theo thỏa thuận, thu hồi tạm ứng dần qua các kỳ thanh toán khối lượng hoàn thành.
""",
    NGHI_DINH_DIR
    / "Nghi_Dinh_210_2026_ND_CP_Hop_Dong_Xay_Dung.md": """# NGHỊ ĐỊNH 210/2026/NĐ-CP: HƯỚNG DẪN THI HÀNH VỀ HỢP ĐỒNG XÂY DỰNG
*(Quy định chi tiết về hợp đồng thi công xây lắp và cơ chế giải quyết tranh chấp 2026)*

## CÁC QUY ĐỊNH BẮT BUỘC:
1. **Thời hạn thanh toán khối lượng**: Không quá 14 ngày làm việc kể từ khi Chủ đầu tư nhận đủ hồ sơ thanh toán hợp lệ từ Nhà thầu.
2. **Quy định về bảo hành công trình**:
   - Tối thiểu 24 tháng đối với công trình cấp đặc biệt và cấp I.
   - Tối thiểu 12 tháng đối với các công trình cấp II, cấp III, cấp IV (bao gồm công trình kênh mương và giao thông nông thôn).
3. **Mức tiền giữ lại bảo hành**: Từ 3% đến 5% giá trị hợp đồng (hoặc thay thế bằng Thư bảo lãnh bảo hành của Ngân hàng).
""",
    NGHI_DINH_DIR
    / "Nghi_Dinh_212_2026_ND_CP_Nang_Luc_Hoat_Dong_Xay_Dung.md": """# NGHỊ ĐỊNH 212/2026/NĐ-CP: ĐIỀU KIỆN NĂNG LỰC HOẠT ĐỘNG XÂY DỰNG & CƠ SỞ DỮ LIỆU QUỐC GIA
*(Quy định về xếp hạng năng lực nhà thầu và chứng chỉ hành nghề 2026)*

## YÊU CẦU NĂNG LỰC DOANH NGHIỆP:
- Doanh nghiệp thi công xây lắp phải được cấp Chứng chỉ năng lực hoạt động xây dựng phù hợp với loại và cấp công trình tham gia dự thầu.
- Bắt buộc cập nhật thông tin máy móc, thiết bị chính chủ và kinh nghiệm thi công các công trình tương tự lên Hệ thống Cơ sở dữ liệu quốc gia về hoạt động xây dựng.
""",
    # 3. THÔNG TƯ ĐỊNH MỨC & ĐƠN GIÁ CA MÁY
    THONG_TU_DIR
    / "Thong_Tu_Dinh_Muc_Chi_Phi_Va_Ca_May_2026.md": """# HƯỚNG DẪN ĐỊNH MỨC DỰ TOÁN & ĐƠN GIÁ CA MÁY XÂY DỰNG 2026

## 1. ĐỊNH MỨC TIÊU HAO NHIÊN LIỆU MÁY THI CÔNG:
- **Máy đào bánh xích gầu 0.8m3 (như Komatsu PC200-8)**:
  - Định mức tiêu hao dầu Diesel: `14.5 - 15.5 lít dầu / ca máy 8 giờ` (khi đào đất cấp III) và `12.0 - 13.5 lít / ca` (khi đào đất cấp II).
  - Nhân công điều khiển: 1 thợ lái máy bậc 4/7.
- **Máy lu rung 14 tấn**: Định mức dầu Diesel `18.0 - 22.0 lít / ca máy`.
- **Máy ủi công suất 110CV - 140CV**: Định mức dầu Diesel `16.0 - 19.5 lít / ca máy`.

## 2. ĐỊNH MỨC CÔNG TÁC THI CÔNG KÊNH & ĐƯỜNG NÔNG THÔN:
- **Bê tông tấm đan M200/M250 đúc sẵn**: Cấp phối 1m3 gồm 350kg xi măng PCB40, 0.48m3 cát vàng, 0.85m3 đá 1x2, 185 lít nước.
- **Gia công cốt thép d <= 10mm**: Hao phí thép 1.025 tấn/tấn thành phẩm, que hàn 15kg, dây buộc 10kg.
- **Chi phí gián tiếp**: Chi phí nhà tạm 1.2%, chi phí chung 5.5% trên chi phí trực tiếp. Thuế VAT áp dụng 8% - 10%.
""",
}


def main():
    print(f"Update latest 2026 Construction Legal Knowledge Base at: {LAW_ROOT}")
    for file_path, content in DOCUMENTS_2026.items():
        file_path.write_text(content.strip(), encoding="utf-8")
        print(f" Updated: {file_path.name} ({len(content)} chars)")

    print(
        "\nAll 2026 Vietnamese Construction Laws, Decrees & Standards successfully updated!"
    )


if __name__ == "__main__":
    main()
