import openpyxl

wb = openpyxl.load_workbook('Lịch kế hoạch làm việc_ERP_D365BC_BTChem.xlsx', data_only=True)

md = '# KẾ HOẠCH LÀM VIỆC - KHẢO SÁT ERP D365 BC\n\n'

# ===== Sheet Tổng quan =====
md += '## Tổng quan khảo sát\n\n'
ws = wb['00_Tổng quan']
for row in ws.iter_rows(min_row=1, max_row=ws.max_row, values_only=True):
    vals = [str(v) if v is not None else '' for v in row]
    line = ' | '.join(vals).strip()
    if line:
        md += f'- {line}\n'

# ===== Sheet Lịch làm việc =====
md += '\n## Lịch làm việc chi tiết\n\n'
ws = wb['01_Lịch làm việc']

# Find header row
header_row = None
for r_idx, row in enumerate(ws.iter_rows(min_row=1, max_row=10, values_only=True), 1):
    vals = [str(v) if v is not None else '' for v in row]
    combined = ' '.join(vals)
    if 'Ngày' in combined and 'Phân hệ' in combined:
        header_row = r_idx
        break

if header_row:
    headers_list = []
    row_data = list(ws.iter_rows(min_row=header_row, max_row=header_row, values_only=True))
    for v in row_data[0]:
        headers_list.append(str(v) if v is not None else '')
    
    col_map = {}
    for i, h in enumerate(headers_list):
        if 'Buổi' in h: col_map['buoi'] = i
        elif 'Ngày' in h: col_map['ngay'] = i
        elif 'Thứ' in h: col_map['thu'] = i
        elif 'Phân hệ' in h: col_map['phanhe'] = i
        elif 'Phòng ban' in h: col_map['phongban'] = i
        elif 'Trọng tâm' in h: col_map['trongtam'] = i
        elif 'SL' in h or 'câu hỏi' in h: col_map['socau'] = i
    
    # Table header
    md += '| Buổi | Ngày | Thứ | Phân hệ | Phòng ban | Trọng tâm |\n'
    md += '|------|------|-----|---------|-----------|-----------|\n'
    
    for r_idx, row in enumerate(ws.iter_rows(min_row=header_row+1, max_row=ws.max_row, values_only=True), header_row+1):
        vals = [str(v) if v is not None else '' for v in row]
        
        buoi_idx = col_map.get('buoi', 0)
        ngay_idx = col_map.get('ngay', 0)
        thu_idx = col_map.get('thu', 0)
        phanhe_idx = col_map.get('phanhe', 0)
        phongban_idx = col_map.get('phongban', 0)
        trongtam_idx = col_map.get('trongtam', 0)
        
        buoi = vals[buoi_idx] if buoi_idx < len(vals) else ''
        ngay = vals[ngay_idx] if ngay_idx < len(vals) else ''
        thu = vals[thu_idx] if thu_idx < len(vals) else ''
        phanhe = vals[phanhe_idx] if phanhe_idx < len(vals) else ''
        phongban = vals[phongban_idx] if phongban_idx < len(vals) else ''
        trongtam = vals[trongtam_idx] if trongtam_idx < len(vals) else ''
        
        # Clean phongban
        phongban = phongban.replace('\n', '; ')
        
        if ngay and ngay != 'None':
            md += f'| {buoi} | {ngay[:10]} | {thu} | {phanhe} | {phongban} | {trongtam[:80]} |\n'

# ===== Sheet Tài liệu yêu cầu =====
md += '\n## Tài liệu yêu cầu cần chuẩn bị\n\n'
ws = wb['02_Tài liệu yêu cầu']
md += '| Phân hệ | Tài liệu | Bộ phận phụ trách | Deadline |\n'
md += '|---------|----------|-------------------|----------|\n'
for row in ws.iter_rows(min_row=2, max_row=ws.max_row, values_only=True):
    vals = [str(v) if v is not None else '' for v in row]
    if len(vals) >= 5 and vals[0] and vals[1]:
        md += f'| {vals[0]} | {vals[1][:70]} | {vals[4]} | {vals[5]} |\n'

# ===== Sheet Thu thập dữ liệu =====
md += '\n## Dữ liệu cần thu thập\n\n'
ws = wb['03_Thu thập dữ liệu']
md += '| Phân hệ | Đối tượng | Mục đích | Bộ phận |\n'
md += '|---------|----------|----------|--------|\n'
for row in ws.iter_rows(min_row=2, max_row=ws.max_row, values_only=True):
    vals = [str(v) if v is not None else '' for v in row]
    if len(vals) >= 6 and vals[1]:
        md += f'| {vals[0]} | {vals[1][:50]} | {vals[3][:50]} | {vals[6]} |\n'

with open('LICH_KHAO_SAT_ERP.md', 'w', encoding='utf-8') as f:
    f.write(md)
print('Đã tạo LICH_KHAO_SAT_ERP.md')
