# -*- coding: utf-8 -*-
"""Dựng lại BC Den T41 ĐÚNG format T38 (bản có tiêu đề + PHẦN 1 executive summary + PHẦN 2 nguyên văn).
Template: chính file 'BC Den T38.docx' (copy → xoá body, giữ style/lề) → điền nội dung T41."""
import os, re, shutil
from docx import Document

GOC = r'C:\Claw 2\Bao cao - Hanh chinh\Dac-Phai-VIen-KT\Raw-Report'
MAU = os.path.join(GOC, 'Tuan 38', 'Den', 'BC Den T38.docx')
DIR41 = os.path.join(GOC, 'Tuan 41', 'Den')
RA = os.path.join(DIR41, 'BC Den T41.docx')
CU = os.path.join(DIR41, 'BC Nguyen Van Den T41.docx')      # bản cũ (khuôn T40) — xoá để khỏi trùng
MD = os.path.join(DIR41, 'Noi-dung_Den_T41.md')

ND = [
 'PHÒNG KỸ THUẬT — CÔNG TY TNHH SX TM HÓA KEO BÌNH THẠNH',
 '',
 'BÁO CÁO TỔNG HỢP CÔNG TÁC PHÁI VIÊN KỸ THUẬT',
 'Tuần 41 (05/10 – 11/10/2026)',
 'Phái viên kỹ thuật: Nguyễn Văn Đen · Số nhà máy báo cáo: 02 (Đăng Long, Hạnh Phúc)',
 'Ngày lập: 10/10/2026',
 'PHẦN 1 — NÊU BẬT CÁC VẤN ĐỀ NÓNG (EXECUTIVE SUMMARY)',
 '1.1. Đăng Long',
 'Sản xuất: trong tuần chạy sơn bên mình 8 cont — 3 màu ĐLO 16/19, 48, 10k, sản phẩm tủ ráp chết, khách hàng TJX; màu sắc chất lượng sản phẩm ra chuyền đạt, sản xuất ổn định. Sơn Syncoat chạy 4 cont 2 màu; sơn Tân Hồng Phát chạy 1 cont 1 màu.',
 'Mẫu hoàn thành trong tuần: mẫu nhân — màu ĐLO 16/19 làm 3 thẻ, màu ĐLO 32 làm 4 thẻ, màu ĐLO 74 làm 3 thẻ; mẫu sản phẩm — màu ĐLO 16/19 làm 2 sản phẩm tủ, màu ĐLO 74 làm 1 sản phẩm tủ.',
 'Vấn đề cần theo dõi — glaze màu ĐLO 16/19: đến hết ngày 9/10 kỹ thuật liên hệ chị Yến, cho biết hiện tại vẫn thử chưa đạt, độ bám vẫn yếu, đang tiếp tục thử.',
 'Yêu cầu từ nhà máy: chị Phấn yêu cầu bên mình cần đưa ra loại glaze chạy an toàn sớm nhất để nhà máy sản xuất màu ĐL 16/19 trên nguyên liệu sản phẩm MDF; hiện tại cách chạy bóng 18 giây kéo dài như vậy sẽ làm tiêu hao lượng bóng đặt của nhà máy.',
 'Nhân sự kỹ thuật: PKT có đưa 1 kỹ thuật mới xuống Đăng Long để thử tay nghề coi chuyền, làm mẫu đầu chuyền; sau 1 ngày làm việc đánh giá tay nghề đạt yêu cầu. PKT báo thứ 6 trong tuần sẽ tăng cường cắm chốt coi chuyền Đăng Long, nhưng thứ 6 kỹ thuật mới báo lại anh sáng đã cho tăng cường hỗ trợ làm mẫu công ty khác đến hết tuần này.',
 'ĐIỂM NÓNG CẠNH TRANH: trong tuần kỹ thuật nhà máy có đưa cho Sơn Syncoat làm thử 2 cánh cửa màu DL 16/19; kiểm tra độ bám 2 sản phẩm cánh cửa độ bám không đạt.',
 'Cạnh tranh (từ 20-45%).',
 '1.2. Hạnh Phúc',
 'Sản xuất: trong tuần nhà máy chạy sơn bên mình 7 cont — khách hàng Bảo Anh 3 cont, Cotswold 2 cont, khách hàng 082 2 cont; màu sắc chất lượng sản phẩm ra chuyền đạt yêu cầu. Sơn AkzoNobel chạy 2,5 cont (khách hàng Modus 2 cont, Bảo Anh 0,5 cont); sơn MTH không chạy.',
 'Mẫu hoàn thành trong tuần: mẫu nhân 8 thẻ màu HP 270 (khách hàng Bảo Anh); mẫu sản phẩm màu HP 303 làm 2 tủ (khách hàng BRF); mẫu mới 1 thẻ (khách hàng 085); mẫu thẻ mini 550 thẻ màu HP 657 (khách hàng Cotswold).',
 'Chạy so sánh màu HP 603 với sơn MTH: mỗi bên chạy 2 mã tủ ráp chết — bên mình 5 tủ/mã, sơn MTH 3 tủ/mã; 10 sản phẩm bên mình dùng hết 10,6 kg sơn hỗn hợp. Quy trình bên mình: lót PU trắng TBS phần gỗ 1 pass + chà nhám; lót PU trắng TBS toàn sản phẩm 1 pass + chà nhám; lót NC trắng toàn sản phẩm 1 pass + chà nhám; sơn màu HP 603 1 pass + xử lý lõi; sơn màu HP 603 1 pass.',
 'Vấn đề cần theo dõi: chạy thử lần 2 này anh Cường không cho bên mình coi và ghi chép lại số lượng sơn của bên MTH; kỹ thuật đánh giá anh không muốn cho mình nắm được tiêu hao của sơn MTH.',
 'Đánh giá chất lượng: sản phẩm 2 bên ra chuyền anh Cường và QC nhà máy đánh giá chất lượng 2 bên đạt như nhau; kỹ thuật cùng kỹ thuật Trình, kỹ thuật Trung đánh giá sản phẩm bên mình láng mịn hơn sơn MTH. Hiện tại kỹ thuật đang cho gửi số liệu về PKT tính định mức giá thành trên m2 để gửi cho nhà máy.',
 'Cạnh tranh nhẹ (từ 0 đến dưới 20%).',
 'PHẦN 2 — CHI TIẾT TỪNG BÁO CÁO (NGUYÊN VĂN)',
 '2.1. Báo cáo — Công ty Đăng Long (10/10/2026)',
 'Tình hình sản xuất - Cạnh tranh:',
 '1/ Trong tuần chạy sơn bên mình 8 cont. 3 màu ĐLO 16/19, 48, 10k. Sản phẩm tủ ráp chết, khách hàng TJX. Màu sắc chất lượng sản phẩm ra chuyền đạt chất lượng, sản xuất ổn định. Sơn Syncoat chạy 4 cont 2 màu. Sơn Tân Hồng Phát chạy 1 cont 1 màu.',
 '2/ Kế hoạch mẫu hoàn thành trong tuần — Mẫu nhân: màu ĐLO 16/19 làm 3 thẻ; màu ĐLO 32 làm 4 thẻ; màu ĐLO 74 làm 3 thẻ. Mẫu sản phẩm: màu ĐLO 16/19 làm 2 sản phẩm tủ; màu ĐLO 74 làm 1 sản phẩm tủ; còn 1 mục ghi "Màu làm 2 sản phẩm tủ" — nguyên văn không ghi rõ mã màu.',
 '3/ Trong tuần PKT có đưa 1 kỹ thuật mới xuống Đăng Long để thử tay nghề coi chuyền, làm mẫu đầu chuyền. Sau 1 ngày làm việc đánh giá tay nghề đạt yêu cầu. PKT báo thứ 6 trong tuần sẽ tăng cường cắm chốt coi chuyền Đăng Long. Thứ 6 kỹ thuật mới báo lại anh sáng đã cho tăng cường hỗ trợ làm mẫu công ty khác đến hết tuần này.',
 'Thông tin từ cán bộ nhà máy và kỹ thuật viên:',
 '4/ Glaze màu ĐLO 16/19 đến hết ngày 9/10 kỹ thuật có liên hệ chị Yến, cho biết hiện tại vẫn thử chưa đạt, độ bám vẫn yếu. Vẫn đang tiếp tục thử. Phía chị Phấn hôm qua có yêu cầu bên mình cần đưa ra loại glaze chạy an toàn sớm nhất để nhà máy sản xuất cho màu ĐL 16/19 trên nguyên liệu sản phẩm MDF; hiện tại cách chạy bóng 18 giây kéo dài như vậy sẽ làm tiêu hao lượng bóng đặt của nhà máy.',
 '5/ Trong tuần anh được kỹ thuật nhà máy có đưa cho Sơn Syncoat làm thử 2 cánh cửa màu DL 16/19, kiểm tra độ bám 2 sản phẩm cánh cửa độ bám không đạt.',
 'Đánh giá cạnh tranh: Cạnh tranh (từ 20-45%) · Người báo cáo: Nguyễn Văn Đen',
 '2.2. Báo cáo — Công ty Hạnh Phúc (10/10/2026)',
 'Tình hình sản xuất - Cạnh tranh:',
 '1/ Trong tuần nhà máy chạy sơn bên mình 7 cont. Khách hàng Bảo Anh 3 cont. Khách Cotswold 2 cont. Khách hàng 082 2 cont. Màu sắc chất lượng sản phẩm ra chuyền đạt yêu cầu. Sơn AkzoNobel chạy 2,5 cont. Khách hàng Modus 2 cont. Khách hàng Bảo Anh 0,5 cont. Sơn MTH không chạy.',
 '2/ Kế hoạch mẫu hoàn thành trong tuần — Mẫu nhân: 8 thẻ màu HP 270, khách hàng Bảo Anh. Mẫu sản phẩm: màu HP 303 làm 2 tủ, khách hàng BRF. Mẫu mới: 1 thẻ, khách hàng 085. Mẫu thẻ mini: 550 thẻ màu HP 657, khách hàng Cotswold.',
 '3/ Trong tuần nhà máy cho Sơn MTH và bên mình chạy thử màu HP 603 để so sánh chất lượng và giá thành định mức. Mỗi bên chạy 2 mã tủ ráp chết. Bên mình chạy mỗi mã 5 tủ. Sơn MTH chạy mỗi mã 3 tủ. QT chạy thực tế bên mình: lót PU trắng TBS phần gỗ 1 pass + chà nhám; lót PU trắng TBS toàn sản phẩm 1 pass + chà nhám; lót NC trắng toàn sản phẩm 1 pass + chà nhám; sơn màu HP 603 1 pass + xử lý lõi; sơn màu HP 603 1 pass. Tổng 10 sản phẩm sử dụng hết 10,6 kg sơn hỗn hợp. QT chạy thực tế sơn MTH: lót PU trắng phần gỗ 1 pass + chà nhám (2 lần); lót NC trắng toàn sản phẩm 1 pass + chà nhám (2 lần); sơn màu NC 1 pass + kiểm lỗi; sơn màu NC 1 pass. Chạy thử lần 2 này anh Cường không cho bên mình coi và ghi chép lại số lượng sơn của bên MTH. Với lại cho bên mình chạy mỗi mã tủ 5 cái, sơn MTH chạy mỗi mã 3 cái. Theo kỹ thuật đánh giá anh không muốn cho mình nắm được tiêu hao của sơn MTH.',
 'Thông tin từ cán bộ nhà máy và kỹ thuật viên:',
 '4/ Sản phẩm 2 bên ra chuyền anh Cường và QC nhà máy đánh giá chất lượng 2 bên đạt như nhau. Kỹ thuật cùng kỹ thuật Trình, kỹ thuật Trung đánh giá sản phẩm bên mình láng mịn hơn sơn MTH. Hiện tại kỹ thuật đang cho gửi số liệu về PKT tính định mức giá thành trên m2 để gửi cho nhà máy.',
 'Đánh giá cạnh tranh: Cạnh tranh nhẹ (từ 0 đến dưới 20%) · Người báo cáo: Nguyễn Văn Đen',
]

os.makedirs(DIR41, exist_ok=True)
shutil.copy2(MAU, RA)
d = Document(RA)
for p in list(d.paragraphs):
    p._element.getparent().remove(p._element)
for t in list(d.tables):
    t._element.getparent().remove(t._element)
for line in ND:
    d.add_paragraph(line)
d.save(RA)
open(MD, 'w', encoding='utf-8', newline='').write(
    '# Nguyễn Văn Đen - Báo cáo tuần 41 (05/10-11/10/2026)\n\n'
    '## Nguồn: Google Sheet CSKH Baocaocskhv2 — 2 dòng ngày 10/10/2026 (Đăng Long 13:44 · Hạnh Phúc 14:31)\n\n'
    + '\n'.join(ND) + '\n')
if os.path.exists(CU):
    os.remove(CU)
    print('đã xoá bản cũ theo khuôn T40:', os.path.basename(CU))

# ---- verify
d2 = Document(RA)
txt = '\n'.join(x.text for x in d2.paragraphs)
print('ĐÃ LƯU:', RA, os.path.getsize(RA), 'B')
print('  đoạn:', len(d2.paragraphs), '| bảng:', len(d2.tables))
print('  cấu trúc:', [l for l in ND if l.startswith(('PHẦN', '1.1', '1.2', '2.1', '2.2', 'Tuần 41'))])
moc = ['8 cont', 'ĐLO 16/19', '48', '10k', 'Syncoat', '4 cont', '1 cont', '3 thẻ', '4 thẻ', '2 sản phẩm tủ',
       'cắm chốt', 'chị Yến', 'chưa đạt', 'chị Phấn', '18 giây', '2 cánh cửa', 'DL 16/19', 'Cạnh tranh (từ 20-45%)',
       '7 cont', 'Bảo Anh', 'Cotswold', '082', '2,5 cont', 'Modus', 'HP 270', 'HP 303', 'BRF', '085',
       '550 thẻ', 'HP 657', 'HP 603', '5 tủ', '3 tủ', '10,6 kg', 'm2',
       'Cạnh tranh nhẹ (từ 0 đến dưới 20%)', 'Người báo cáo: Nguyễn Văn Đen']
thieu = [m for m in moc if m not in txt]
print('  mốc số liệu: %d/%d' % (len(moc) - len(thieu), len(moc)), ('| THIẾU: %s' % thieu) if thieu else '| đủ 100%')
print('  emoji:', len(re.findall(r'[\U0001F000-\U0001FAFF\U00002600-\U000027BF]', txt)))
