# -*- coding: utf-8 -*-
"""Lô 06: chốt hệ PU NGOÀI TRỜI (chủ dự án xác nhận), đổi ảnh vào thư mục nhận, cắt ô zoom, ghi luật #19."""
import io, os, re, shutil, subprocess, sqlite3, time

D = r'C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son'
PY = r'C:\Users\admin\AppData\Local\hermes\hermes-agent\venv\Scripts\python.exe'
ND = os.path.join(D, 'anh_mau_moi')
DX = os.path.join(D, 'da_xu_ly')
DB = os.path.join(D, 'CSDLA.db')

# 1. luật #19 vào CSDLA (có backup)
ts = time.strftime('%Y%m%d_%H%M%S')
shutil.copy2(DB, os.path.join(D, '_backup_CSDLA_truoc_luat19_%s.db' % ts))
c = sqlite3.connect(DB)
if not c.execute("select count(*) from huan_luyen where nguyen_van like '%PU ngời trời%' or nguyen_van like '%PU ngoài trời%'").fetchone()[0]:
    c.execute('insert into huan_luyen (ngay, nhom, nguyen_van, quy_tac, pham_vi, trang_thai, nguon, ghi_chu) values (?,?,?,?,?,?,?,?)',
              (time.strftime('%Y-%m-%d'), 'Hệ sơn',
               '“dùng sơn PU ngời trời cũng ổn, không cần”',
               'Với VÁN SÀN / ĐỒ NGOÀI TRỜI: dùng hệ PU NGOÀI TRỜI (chịu UV – chịu ẩm) cho PA 1 — không cần dùng hệ khác và không cần hỏi lại; ' 
               'vẫn giữ nguyên đúng THỨ TỰ CHUẨN (nhuộm nền → lót mỏng washcoat → kiểm tra–dặm màu không chà nhám → lau màu chui vào ghim sớ → khoá lót → chà nhám → kiểm tra–dặm màu → phủ PU ngoài trời).',
               'Sàn/ván ngoài trời (decking), đồ ngoại thất', 'ĐANG ÁP DỤNG',
               'Chủ dự án (anh Minh) — chốt trực tiếp',
               'Bổ sung cho luật “hệ sơn chủ yếu NC”: NC chỉ dùng trong nhà.'))
    c.commit()
    print('đã thêm luật #19 | huan_luyen:', c.execute('select count(*) from huan_luyen').fetchone()[0])
else:
    print('luật PU ngoài trời đã có, bỏ qua')
c.close()

# 2. đổi ảnh sang thư mục nhận (lưu trữ ảnh lô 05)
for f in sorted(os.listdir(ND)):
    if f.endswith(('.jpg', '.png')) or f.startswith('_'):
        shutil.move(os.path.join(ND, f), os.path.join(DX, 'lo05_' + f))
shutil.copy2(os.path.join(D, 'anh_cho_xu_ly', 'lo06', 'mau_01.jpg'), os.path.join(ND, 'mau_01.jpg'))
print('thư mục nhận mới:', sorted(os.listdir(ND)))

# 3. cắt ô zoom cho ảnh lô 06
r = subprocess.run([PY, os.path.join(D, 'tao_zoom.py')], capture_output=True, text=True, encoding='utf-8', errors='replace', cwd=D)
print(r.stdout.strip()[:1200])

# 4. cập nhật khối LÔ NÀY: chốt hệ PU ngoài trời
P = os.path.join(D, 'YEU_CAU_de_xuat_quy_trinh.txt')
t = io.open(P, encoding='utf-8').read()
cu = [l for l in t.split('\n') if l.startswith('- **⚠️ XỬ LÝ XUNG ĐỘT LUẬT')]
if cu:
    moi = ('- **✅ ĐÃ CHỐT HỆ SƠN (chủ dự án, 06/10/2026): “dùng sơn PU ngời trời cũng ổn, không cần”** ⇒ **PA 1 (kỹ thuật chuẩn) dùng HỆ PU NGOÀI TRỜI** '
           '(chịu UV – chịu ẩm, tham chiếu `QT_ST_OUT_02_PU_GoiThong_Stain_NgoaiTroi_M20`: `16→25→5→19→33→20→33→21`) — **vẫn giữ đúng THỨ TỰ CHUẨN**: '
           'nhuộm nền → **lót mỏng washcoat** → **kiểm tra–dặm màu (không chà nhám)** → **lau màu pha loãng chui vào ghim sớ** → khoá lót → chà nhám → kiểm tra–dặm màu → **phủ PU ngoài trời**. '
           'Nêu 1 dòng: hệ **NC chỉ dùng trong nhà**.')
    t = t.replace(cu[0], moi)
    print('\nđã chốt hệ PU ngoài trời trong khối LÔ NÀY')
io.open(P, 'w', encoding='utf-8', newline='').write(t)
print('bản yêu cầu:', len(t), 'ký tự | còn nhắc NC-cho-ngoài-trời?', 'NC không chịu UV' in t)
