# -*- coding: utf-8 -*-
r"""B48: GHI báo cáo ghi âm 'Mon 1210 loc nam.mp3' (12/10/2026) vào CSDL C -> bảng kinh_nghiem.
CHỈ THÊM dòng mới. Đã backup: CSDLC_bak_20261012_1401_truoc_ghi_ghi_am_1210.db
Ẩn danh tên cá nhân (kỹ thuật viên) theo quy ước của chủ nhân; tên nhà máy/khách giữ nguyên."""
import os, sqlite3

C = r'C:\Claw-Zalo\CSDLC\CSDLC.db'
NGAY = '2026-10-12'
MA = 'GHI-AM-1210'
NGUON = ("Ghi âm 'Mon 1210 loc nam.mp3' — báo cáo tổng hợp của chủ nhân, ghi vào CSDL C ngày 12/10/2026 "
         "(đã ẩn danh tên cá nhân kỹ thuật viên)")

HN1, HN2, MD, MK, PKP, TD, TT, DL, TV, MHT = 39, 11, 10, 26, 80, 4, 3, 29, 8, 21

ROWS = [
    # --- Hố Nai 1
    (HN1, "Mẫu 1050 tồn hơn 3 tháng không ký duyệt được — gốc rễ do chà nhám không kỹ từng công đoạn",
     "Mẫu 1050 tồn đọng hơn 3 tháng, qua tay nhiều kỹ thuật viên làm đi làm lại nhưng không ký duyệt được (trình duyệt không đạt).",
     "Chà nhám không kỹ lưỡng từng công đoạn, làm ẩu / né bước thay vì xử lý đúng kỹ thuật ⇒ đổi bao nhiêu người làm vẫn không đạt.",
     "Thay người phụ trách; yêu cầu chà nhám kỹ từng công đoạn, làm đúng kỹ thuật thay vì 'bùa' mẫu.",
     "Mẫu làm thành công, hoàn thành 2 thẻ mẫu gửi lên văn phòng.",
     "Đã xử lý"),
    (HN1, "Lót màu 2 không đạt độ che phủ theo quy trình cũ — đảo lại bước quy trình, thử thực tế tại xưởng",
     "Nhà máy phản ánh lớp lót màu 2 theo quy trình cũ không đạt độ che phủ.",
     "Thứ tự bước trong quy trình cũ chưa phù hợp với điều kiện phun thực tế tại xưởng.",
     "Mang 2 kg sơn xuống xưởng thử nghiệm thực tế, đảo lại bước quy trình rồi chứng minh màng sơn đạt độ che phủ tiêu chuẩn.",
     "Màng sơn đạt độ che phủ tiêu chuẩn; nhà máy ký xác nhận.",
     "Đã xử lý"),
    (HN1, "Tình hình vận hành Hố Nai 1 (12/10): chạy đơn lớn cho khách Lingin Bay",
     "Tập trung chạy lượng lớn đơn hàng cho khách Lingin Bay: kế hoạch 8 container trong 4 tháng; trong tháng sản lượng hàng trắng đạt 18–20 container.",
     "",
     "",
     "Sản xuất đang chạy theo kế hoạch.",
     "Đang theo dõi"),
    # --- Hố Nai 2
    (HN2, "Tình hình vận hành Hố Nai 2: ổn định, không phát sinh sự cố lớn",
     "Vận hành ổn định, không phát sinh sự cố lớn trong kỳ báo cáo.",
     "", "", "Không có sự cố phát sinh.", "Bình thường"),
    # --- Minh Dương
    (MD, "Lệch màu giữa nhà đo và nhà máy — phải đo màu/độ bóng SAU KHI màng khô qua đêm (tối thiểu 4 giờ)",
     "Thẻ mẫu làm tại nhà đo đạt tiêu chuẩn (chỉ số Delta E, Delta AB đạt), nhưng mang sang Minh Dương đo kiểm tra lại báo KHÔNG đạt.",
     "Đo màu ngay sau khi vừa phun sơn xong. Với các dòng sơn có độ bóng 20–30%, sau khi khô màng sơn bị sụt độ bóng ⇒ sắc thái màu bị biến đổi so với lúc màng còn ướt.",
     "Quy trình chuẩn: bắt buộc để màng sơn khô hoàn toàn qua đêm (tối thiểu 4 giờ) rồi mới đo lại chỉ số màu và độ bóng trước khi trình duyệt khách hàng.",
     "Đã xác định được nguyên nhân lệch số giữa nhà đo và nhà máy; áp dụng quy trình đo sau khi khô.",
     "Đã có quy trình chuẩn"),
    # --- Mê Kông
    (MK, "KHÔNG tự ý pha màu trắng vào primer chống xì dầu — làm giảm tỷ lệ nhựa ngăn dầu (70–80% chất rắn)",
     "Để chữa cháy lỗi lệch màu trên sản phẩm, kỹ thuật viên tự ý pha thêm 5% bass màu trắng vào lớp primer (sơn lót chống xì dầu).",
     "Xử lý tạm lỗi lệch màu bằng cách pha màu trực tiếp vào primer thay vì chỉnh đúng công đoạn màu.",
     "Cảnh báo của Giám đốc Kỹ thuật: primer chống xì dầu có hàm lượng nhựa ngăn dầu RẤT CAO (70–80% chất rắn); pha màu trắng vào làm giảm tỷ lệ nhựa ngăn dầu ⇒ nếu lạm dụng sẽ mất khả năng chống xì dầu của gỗ, rủi ro ngả vàng / xì dầu nghiêm trọng trên bề mặt về lâu dài. Không được tự ý pha màu vào primer.",
     "Nguyên tắc đã chốt: giữ đúng bản chất hóa học của primer, không dùng mẹo ngắn hạn.",
     "Bài học — không được áp dụng"),
    # --- Phú Khang Phát
    (PKP, "Mã màu 186 chạy lót/bóng hệ nước + màu hệ dung môi khi CHƯA có thẻ mẫu gốc và quy trình hệ nước",
     "Nhà máy tận dụng vật tư tồn kho: dùng lót/bóng hệ nước kết hợp với lớp màu hệ dung môi (mã màu 186).",
     "Chạy kết hợp hệ sơn để tận dụng tồn kho nhưng chưa có Thẻ mẫu gốc (master) và chưa có Quy trình kỹ thuật hệ nước.",
     "Ban giám đốc yêu cầu kỹ thuật làm việc cứng rắn với xưởng: BẮT BUỘC lập Thẻ mẫu gốc và ban hành quy trình chuẩn BẰNG VĂN BẢN trước khi cho phép chạy đại trà.",
     "Đang triển khai lập thẻ mẫu gốc + quy trình hệ nước.",
     "Đang thực hiện"),
    # --- Thiết Đan
    (TD, "Sơn đen + 500 g dung môi đơn (chậm khô) ⇒ màng khô đẹp, láng mịn, không mốc meo/dộp màng",
     "Sơn màu đen tại xưởng có hiện tượng mốc meo / dộp màng khi khô.",
     "Dung môi bay quá nhanh, màng sơn khô không đều trong điều kiện xưởng.",
     "Xưởng bổ sung 500 g dung môi đơn (dung môi chậm khô) vào sơn đen.",
     "Màng sơn khô đẹp, bề mặt láng mịn, hoàn toàn không bị mốc meo hay dộp màng.",
     "Đã xử lý"),
    # --- Thành Thắng
    (TT, "Dùng sai/phối trộn dung môi tự phát gây lỗi màng sơn",
     "Xưởng không sử dụng đúng dung môi chuẩn mà dùng pha trộn tự phát, gây lỗi màng sơn.",
     "Không tuân thủ dung môi chuẩn do BT-Chem ban hành.",
     "Phê bình xưởng; yêu cầu chỉ dùng đúng dung môi chuẩn, không pha trộn tự phát.",
     "",
     "Đã nhắc nhở"),
    # --- Đăng Long
    (DL, "Mã màu 6: tăng độ nhớt + rà soát hiện tượng xì keo/xì dầu bề mặt",
     "Sản phẩm có hiện tượng xì keo / xì dầu trên bề mặt; độ nhớt sơn ở mã màu 6 chưa phù hợp.",
     "Độ nhớt sơn chưa đúng với điều kiện phun tại xưởng.",
     "Chỉ đạo xưởng điều chỉnh TĂNG độ nhớt cho mã màu 6 và rà soát hiện tượng xì keo/xì dầu bề mặt.",
     "",
     "Đang theo dõi"),
    # --- Minh Hưng Tiến (ghi âm đọc 'Minh Thân Tiến')
    (MHT, "Thử quy trình mới: ten lót → chà nhám → ten màu dằn bóng (5 bộ sản phẩm)",
     "Đang thử nghiệm quy trình mới (ten lót → chà nhám → ten màu dằn bóng) trên 5 bộ sản phẩm; CHƯA áp dụng pha phụ gia vào ten màu 1 theo chỉ đạo trước đó.",
     "Thử quy trình rút gọn/dằn bóng để cải thiện hiệu quả công đoạn.",
     "Theo dõi kết quả 5 bộ trước khi áp dụng đại trà; nhắc áp dụng pha phụ gia vào ten màu 1 theo chỉ đạo.",
     "Đang thử nghiệm.",
     "Đang thử nghiệm"),
    # --- Khách WW (không có mã khách trong CSDL)
    (None, "Khách WW (Westwood) ký mẫu 10/10 — lượng hàng sản xuất chuyển từ Thịnh Việt về chạy chính",
     "Khách WW (Westwood) đã chính thức ký mẫu ngày 10/10/2026.",
     "",
     "Chuyển lượng hàng sản xuất từ Thịnh Việt về (BT-Chem) chạy chính.",
     "Đã ký mẫu, chuyển sang chạy chính.",
     "Đã xác nhận"),
    # --- Bài học quản lý
    (None, "BÀI HỌC QUẢN LÝ 1 — Tuân thủ kỹ thuật thực chất, nói KHÔNG với 'mẹo bùa'",
     "Sự cố kéo dài ở mẫu 1050 cho thấy thói quen 'bùa màu' hay đổ lỗi cho khách hàng khó tính thực chất là do tay nghề kém và làm ẩu.",
     "Kỹ thuật viên né bước khó (chà nhám) và tìm mẹo che lỗi thay vì xử lý đúng kỹ thuật.",
     "Cốt lõi của kỹ thuật sơn nằm ở sự tỉ mỉ, chà nhám đúng kỹ thuật và tuân thủ từng bước công đoạn.",
     "",
     "Bài học — áp dụng toàn hệ"),
    (None, "BÀI HỌC QUẢN LÝ 2 — Không kết luận thử nghiệm khi màng sơn chưa đạt độ khô tiêu chuẩn",
     "Kết quả đo màu/độ bóng chênh nhau giữa phòng Lab (đạt) và thực tế nhà máy (không đạt).",
     "Đo khi màng chưa ổn định: sơn bóng 20–30% sụt bóng sau khi khô ⇒ sắc thái màu thay đổi.",
     "Đo màu/độ bóng phải thực hiện sau khi sơn đã sụt bóng và ổn định bề mặt (để khô qua đêm, tối thiểu 4 giờ) để tránh sai lệch giữa Lab và thực tế nhà máy.",
     "",
     "Bài học — áp dụng toàn hệ"),
    (None, "BÀI HỌC QUẢN LÝ 3 — Cảnh giác 'sáng kiến' tự phát làm hỏng bản chất hóa học của sơn",
     "Thói quen tự ý pha màu vào lớp sơn lót chống xì dầu (primer) để giấu lỗi che phủ.",
     "Dùng 'mẹo' ngắn hạn để che lỗi mà không hiểu giới hạn hóa học của nguyên vật liệu.",
     "Kỹ thuật viên phải hiểu rõ giới hạn hóa học của nguyên vật liệu, không được làm liều; thay đổi công thức phải qua R&D.",
     "",
     "Bài học — áp dụng toàn hệ"),
    (None, "BÀI HỌC QUẢN LÝ 4 — Kỷ luật Thẻ mẫu gốc (Master) và Quy trình bằng văn bản",
     "Chạy kết hợp hệ sơn / thay đổi hệ sơn khi chưa có thẻ mẫu gốc ký duyệt và chưa có SOP (như mã 186 tại Phú Khang Phát).",
     "Làm việc theo thỏa thuận miệng với thợ/quản đốc, không có văn bản.",
     "Mọi thay đổi về hệ sơn (dung môi sang hệ nước, thay chất đóng rắn...) BẮT BUỘC phải có Thẻ mẫu gốc ký duyệt và Quy trình thao tác chuẩn (SOP); tuyệt đối không làm việc dựa trên lời hứa suông hay thỏa thuận miệng.",
     "",
     "Bài học — áp dụng toàn hệ"),
    (None, "BÀI HỌC QUẢN LÝ 5 — Thái độ quyết liệt và trách nhiệm giải trình",
     "Còn thói quen báo cáo mơ hồ, xảo ngôn, 'nhanh trí' che đậy sai sót.",
     "Thiếu trách nhiệm giải trình của cấp quản lý/QC khi đi xưởng.",
     "Loại bỏ ngay thói quen báo cáo mơ hồ; cấp quản lý/QC khi đi xưởng phải nắm chắc thông số kỹ thuật, đối chất bằng số liệu thực tế và dám chịu trách nhiệm bảo vệ chất lượng màng sơn.",
     "",
     "Bài học — áp dụng toàn hệ"),
]

c = sqlite3.connect(C)
truoc = c.execute('select count(*) from kinh_nghiem').fetchone()[0]
max_truoc = c.execute('select ifnull(max(id),0) from kinh_nghiem').fetchone()[0]
print('  TRƯỚC: %d dòng, id lớn nhất %d' % (truoc, max_truoc))

ids = []
for kh, chu_de, ht, nn, cxl, kq, tt in ROWS:
    cur = c.execute('''insert into kinh_nghiem (khach_hang_id, ngay, ma_ho_so, chu_de, hien_tuong, nguyen_nhan,
                                               cach_xu_ly, ket_qua, trang_thai, nguon)
                       values (?,?,?,?,?,?,?,?,?,?)''', (kh, NGAY, MA, chu_de, ht, nn, cxl, kq, tt, NGUON))
    ids.append(cur.lastrowid)
c.commit()

sau = c.execute('select count(*) from kinh_nghiem').fetchone()[0]
print('  SAU   : %d dòng (thêm %d), id %d..%d' % (sau, sau - truoc, min(ids), max(ids)))

print()
print('  === ĐỌC LẠI từ CSDL (kiểm chứng độc lập) ===')
for r in c.execute('''select k.id, ifnull(h.ten,'(chưa gắn khách)'), k.ngay, substr(k.chu_de,1,72), k.trang_thai
                      from kinh_nghiem k left join khach_hang h on h.id = k.khach_hang_id
                      where k.id in (%s) order by k.id''' % ','.join(str(i) for i in ids)):
    print('   id=%-4s | %-32s | %s | %-72s | %s' % (r[0], str(r[1])[:32], r[2], r[3], r[4]))

print()
print('  === KIỂM KHÔNG ĐỤNG DÒNG CŨ ===')
print('   dòng id <= %d: %d (phải = %d)' % (max_truoc, c.execute('select count(*) from kinh_nghiem where id<=?', (max_truoc,)).fetchone()[0], truoc))
print('   có dòng nào của nguồn ghi âm bị trùng:', c.execute("select count(*) from kinh_nghiem where ma_ho_so=?", (MA,)).fetchone()[0])
print('   bảng khác không đổi:', [c.execute('select count(*) from %s' % t).fetchone()[0] for t in ('khach_hang', 'lich_su_mua_hang', 'tuong_tac')])
c.close()
