#!/usr/bin/env python3
"""
Base script: Build Laporan Kinerja with:
- Font: Arial 12 throughout (body + tables)
- BAB & judul bab: CENTER
- Sub bab / mini heading: LEFT
- First-line indent 1.5cm on body paragraphs
- Tables: keep together on one page (no page-break-split)
- Pembahasan: lebih dalam & panjang
"""
from docx import Document
from docx.shared import Pt, RGBColor, Inches, Cm
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
from docx.enum.section import WD_SECTION

# ---- constants ----
FONT_NAME = 'Arial'
FONT_SIZE = 12
INDENT_FIRSTLINE = Cm(1.5)

# ---- helpers ----
def set_para_style(para, align=WD_ALIGN_PARAGRAPH.JUSTIFY,
                   bold=False, size=FONT_SIZE, sb=0, sa=6,
                   indent_first=False, color=None):
    para.alignment = align
    para.paragraph_format.space_before = Pt(sb)
    para.paragraph_format.space_after = Pt(sa)
    if indent_first:
        para.paragraph_format.first_line_indent = INDENT_FIRSTLINE
    for run in para.runs:
        run.font.name = FONT_NAME
        run.font.size = Pt(size)
        run.bold = bold
        if color:
            run.font.color.rgb = RGBColor(*color)

def add_run(para, text, bold=False, size=FONT_SIZE, color=None):
    r = para.add_run(text)
    r.font.name = FONT_NAME
    r.font.size = Pt(size)
    r.bold = bold
    if color:
        r.font.color.rgb = RGBColor(*color)
    return r

def new_para(doc, align=WD_ALIGN_PARAGRAPH.JUSTIFY, sb=0, sa=6, indent_first=False):
    p = doc.add_paragraph()
    p.alignment = align
    p.paragraph_format.space_before = Pt(sb)
    p.paragraph_format.space_after = Pt(sa)
    if indent_first:
        p.paragraph_format.first_line_indent = INDENT_FIRSTLINE
    return p

# ---- BAB heading (centered, bold, size 14, color) ----
def bab_heading(doc, text, color=(22, 50, 61)):
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.CENTER, sb=12, sa=4)
    add_run(p, text, bold=True, size=14, color=color)
    return p

# ---- Sub-chapter heading (left, bold, size 12) ----
def sub_heading(doc, text, color=(22, 50, 61)):
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sb=12, sa=4)
    add_run(p, text, bold=True, size=12, color=color)
    return p

# ---- Mini heading (left, bold, size 11) ----
def mini_heading(doc, text, color=(22, 50, 61)):
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sb=10, sa=3)
    add_run(p, text, bold=True, size=11, color=color)
    return p

# ---- Body paragraph (justify, first-line indent) ----
def body_para(doc, text, size=FONT_SIZE):
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.JUSTIFY, sb=0, sa=6, indent_first=True)
    add_run(p, text, size=size)
    return p

# ---- Centered para ----
def center_para(doc, text, bold=False, size=FONT_SIZE, color=None, sa=4):
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.CENTER, sa=sa)
    add_run(p, text, bold=bold, size=size, color=color)
    return p

# ---- cell bg ----
def cell_bg(cell, hex_color):
    tc = cell._tc
    tcPr = tc.get_or_add_tcPr()
    shd = OxmlElement('w:shd')
    shd.set(qn('w:val'), 'clear')
    shd.set(qn('w:color'), 'auto')
    shd.set(qn('w:fill'), hex_color)
    tcPr.append(shd)

# ---- prevent table from splitting across pages ----
def tbl_keep_together(tbl):
    tblPr = tbl._tbl.tblPr
    if tblPr is None:
        tblPr = OxmlElement('w:tblPr')
        tbl._tbl.insert(0, tblPr)
    cantSplit = OxmlElement('w:cantSplit')
    cantSplit.set(qn('w:val'), '1')
    tblPr.append(cantSplit)

# ---- table with styled cells ----
def make_table(doc, headers, rows_data, hdr_bg='D9EAD3'):
    tbl = doc.add_table(rows=1+len(rows_data), cols=len(headers))
    tbl.style = 'Table Grid'
    tbl.alignment = WD_TABLE_ALIGNMENT.CENTER
    tbl_keep_together(tbl)

    # header row
    hr = tbl.rows[0]
    for i, h in enumerate(headers):
        c = hr.cells[i]
        p = c.paragraphs[0]
        p.alignment = WD_ALIGN_PARAGRAPH.CENTER
        p.paragraph_format.space_before = Pt(2)
        p.paragraph_format.space_after = Pt(2)
        add_run(p, h, bold=True, size=10)
        cell_bg(c, hdr_bg)

    # data rows
    for ri, rvals in enumerate(rows_data):
        row = tbl.rows[ri+1]
        for ci, v in enumerate(rvals):
            c = row.cells[ci]
            p = c.paragraphs[0]
            p.paragraph_format.space_before = Pt(2)
            p.paragraph_format.space_after = Pt(2)
            add_run(p, v, size=10)
            cell_bg(c, 'FFFFFF')

    return tbl

def spc(doc, n=1):
    for _ in range(n):
        p = doc.add_paragraph()
        p.paragraph_format.space_before = Pt(0)
        p.paragraph_format.space_after = Pt(0)

def set_cell_valign(cell, align='center'):
    tc = cell._tc
    tcPr = tc.get_or_add_tcPr()
    vAlign = OxmlElement('w:vAlign')
    vAlign.set(qn('w:val'), align)
    tcPr.append(vAlign)

# ============================================================
# BUILD LAPORAN TW
# ============================================================
def build_laporan(tw_label, tw_angka, triwulan_text,
                  data_produksi, data_phms, data_asuh,
                  data_anggaran, data_fisik,
                  lampiran_text, output_path):

    doc = Document()
    section = doc.sections[0]
    section.page_width = Inches(8.27)
    section.page_height = Inches(11.69)
    section.left_margin = Inches(1)
    section.right_margin = Inches(1)
    section.top_margin = Inches(1)
    section.bottom_margin = Inches(0.9)

    # ---- helper to apply font to all runs in paragraph ----
    def apply_font(para):
        for run in para.runs:
            run.font.name = FONT_NAME
            run.font.size = Pt(FONT_SIZE)

    # ========================================================
    # COVER PAGE
    # ========================================================
    for _ in range(4): spc(doc)

    center_para(doc, 'LAPORAN KINERJA', bold=True, size=22, color=(22,50,61), sa=0)
    center_para(doc, 'TAHUN 2026', bold=True, size=22, color=(22,50,61), sa=8)
    center_para(doc, triwulan_text, bold=True, size=16, color=(184,135,58), sa=16)

    spc(doc, 4)

    for text in ['BIDANG PETERNAKAN DAN KESEHATAN HEWAN',
                 'DINAS PERKEBUNAN DAN PETERNAKAN',
                 'PROVINSI KALIMANTAN SELATAN']:
        center_para(doc, text, bold=True, size=14, color=(22,50,61), sa=4)

    doc.add_page_break()

    # ========================================================
    # KATA PENGANTAR
    # ========================================================
    center_para(doc, 'KATA PENGANTAR', bold=True, size=14, color=(22,50,61), sa=12)

    kp_texts = [
        'Segala puji dan syukur kami panjatkan kehadirat Allah SWT, atas limpahan rahmat dan karunia-Nya sehingga Laporan Kinerja ' + triwulan_text + ' Tahun 2026 Bidang Peternakan dan Kesehatan Hewan pada Dinas Perkebunan dan Peternakan Provinsi Kalimantan Selatan dapat diselesaikan tepat waktu. Laporan ini merupakan bagian integral dari Sistem Akuntabilitas Kinerja Instansi Pemerintah (SAKIP) sebagai wujud transparansi dan akuntabilitas dalam penyelenggaraan pemerintahan.',
        'Penyusunan laporan ini bertujuan untuk mengukur dan mengevaluasi tingkat keberhasilan pelaksanaan program dan kegiatan yang telah diamanahkan kepada Bidang Peternakan dan Kesehatan Hewan selama periode ' + triwulan_text + ' Tahun 2026. Hasil evaluasi ini akan menjadi landasan strategis untuk perbaikan kinerja pada periode berikutnya, serta mendukung upaya Pemerintah Provinsi Kalimantan Selatan dalam mewujudkan tata kelola pemerintahan yang baik (Good Governance).',
        'Kami menyadari bahwa laporan ini masih memiliki kekurangan. Oleh karena itu, masukan dan saran yang membangun sangat kami harapkan demi penyempurnaan di masa yang akan datang. Semoga laporan ini dapat memberikan gambaran yang jelas mengenai kinerja yang telah dicapai dan bermanfaat bagi semua pihak.',
    ]
    for t in kp_texts:
        p = body_para(doc, t)
        apply_font(p)

    spc(doc)
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
    add_run(p, lampiran_text, size=FONT_SIZE)
    spc(doc, 2)

    for t in ['Kepala Bidang Peternakan dan', 'Kesehatan Hewan,', '', '', 'Drh. Edi Santosa', 'NIP. 197409182008031001']:
        p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
        add_run(p, t, size=FONT_SIZE)

    doc.add_page_break()

    # ========================================================
    # BAB I - PENDAHULUAN
    # ========================================================
    bab_heading(doc, 'BAB I')
    bab_heading(doc, 'PENDAHULUAN')

    sub_heading(doc, 'Latar Belakang')

    lb_texts = [
        'Memasuki periode '+ triwulan_text +' tahun 2026, pembangunan sektor peternakan di Provinsi Kalimantan Selatan terus menunjukkan akselerasi dan kemajuan yang signifikan, yang tercermin dari peningkatan skala usaha peternak dan volume produksi. Pemerintah Provinsi, melalui Dinas Perkebunan dan Peternakan, secara konsisten mengoptimalkan potensi agroklimat dan lahan yang ekstensif—baik lahan rawa lebak maupun lahan kering—untuk memantapkan posisi daerah sebagai salah satu lumbung ternak terkemuka di Indonesia. Fokus pengembangan tidak hanya diarahkan pada peningkatan kuantitas populasi, tetapi juga pada peningkatan produktivitas dan efisiensi komoditas strategis seperti sapi potong, kambing, ayam ras, dan itik. Upaya ini merupakan langkah konkret untuk mewujudkan kemandirian pangan hewani di tingkat regional.',
        'Seiring dengan visi tersebut, adopsi dan difusi teknologi modern dalam seluruh rantai agribisnis peternakan menjadi agenda prioritas. Implementasi teknologi mencakup aspek hulu hingga hilir, mulai dari inovasi formulasi pakan berbasis sumber daya lokal yang efisien untuk menekan biaya produksi, penerapan sistem informasi (seperti ISIKHNAS) untuk manajemen kesehatan ternak yang presisi, hingga optimalisasi logistik dan rantai dingin untuk distribusi produk. Melalui pendekatan holistik ini, para peternak di Kalimantan Selatan didorong untuk mampu meningkatkan skala usaha, menjamin kualitas dan keamanan produk, serta memperkuat daya saing dan keberlanjutan usaha mereka di tengah dinamika pasar global yang semakin kompetitif.',
        'Secara makro, pembangunan sektor peternakan telah memberikan dampak positif yang signifikan terhadap penguatan struktur ekonomi masyarakat. Terbukanya akses peternak terhadap pasar yang lebih luas dan lembaga pembiayaan yang kompetitif, yang didukung oleh kebijakan afirmatif pemerintah, telah mengubah wajah sektor ini. Peternakan kini tidak lagi hanya dipandang sebagai aktivitas subsisten atau tabungan, melainkan telah bertransformasi menjadi motor penggerak ekonomi kerakyatan yang vital. Sektor ini secara nyata mampu menciptakan lapangan kerja di perdesaan, meningkatkan nilai tambah produk melalui agroindustri skala kecil dan menengah, serta mendongkrak pendapatan masyarakat secara berkelanjutan, yang pada gilirannya turut mengurangi angka kemiskinan di wilayah rural Kalimantan Selatan.',
        'Dinamika perubahan iklim dan potensi bencana alam seperti banjir长江 yang melanda beberapa wilayah juga menjadi tantangan tersendiri bagi keberlanjutan usaha peternakan. Dalam situasi ini, koordinasi antarsektor dan sinergi antara pemerintah provinsi, kabupaten/kota, serta komunitas peternak menjadi sangat krusial untuk membangun resiliensi sektor peternakan. Aplikasi ISIKHNAS sebagai sistem pelaporan kesehatan hewan nasional berperan penting dalam mendukung deteksi dini dan respons cepat terhadap potensi wabah penyakit, sehingga diharapkan dapat meminimalkan kerugian ekonomi yang mungkin timbul akibat gangguan kesehatan ternak.',
    ]
    for t in lb_texts:
        p = body_para(doc, t)
        apply_font(p)

    sub_heading(doc, 'Maksud dan Tujuan')

    p = body_para(doc, 'Maksud: Laporan ini disusun sebagai manifestasi pertanggungjawaban administratif dan operasional Bidang Peternakan dan Kesehatan Hewan atas pelaksanaan tugas pokok dan fungsi selama periode ' + triwulan_text + ' Tahun Anggaran 2026. Dokumen ini bertujuan untuk menyajikan analisis mendalam mengenai capaian kinerja, penyerapan anggaran, serta evaluasi efektivitas dan dampak dari implementasi program-program strategis yang telah direncanakan, sebagai bahan evaluasi dan pengambilan kebijakan lebih lanjut.')
    apply_font(p)

    p = body_para(doc, 'Tujuan: Pelaksanaan tugas dan fungsi Bidang Peternakan dan Kesehatan Hewan diarahkan untuk mencapai tujuan-tujuan strategis sebagai berikut:')
    apply_font(p)

    tujuan_items = [
        'Peningkatan Populasi dan Produktivitas Ternak: Melalui program perbibitan unggul, akselerasi teknologi reproduksi seperti Inseminasi Buatan (IB) dan Transfer Embrio (TE), serta perbaikan manajemen pemeliharaan untuk mencapai swasembada daging dan susu. Tujuannya adalah menjaga stabilitas pasokan dan harga di tingkat konsumen.',
        'Penguatan Sistem Kesehatan Hewan: Melalui sistem pengawasan epidemiologis yang solid, program pencegahan penyakit yang proaktif, dan kesiapsiagaan dalam penanggulangan cepat terhadap Penyakit Hewan Menular Strategis (PHMS). Hal ini krusial untuk melindungi aset ternak daerah dari ancaman wabah yang dapat menyebabkan kerugian ekonomi masif.',
        'Penjaminan Ketahanan Pangan: Dengan memastikan ketersediaan dan aksesibilitas produk peternakan yang memenuhi standar Aman, Sehat, Utuh, dan Halal (ASUH) secara merata dan berkelanjutan bagi seluruh lapisan masyarakat, sehingga mendukung perbaikan gizi masyarakat.',
        'Peningkatan Jaminan Keamanan Pangan: Dengan mengimplementasikan sistem pengawasan yang ketat di setiap mata rantai pasok, mulai dari tingkat peternakan (on-farm) hingga ke meja konsumen (off-farm), sesuai dengan standar nasional dan praktik terbaik internasional untuk membangun kepercayaan pasar.',
    ]
    for item in tujuan_items:
        p = doc.add_paragraph(style='List Bullet')
        p.paragraph_format.space_before = Pt(0)
        p.paragraph_format.space_after = Pt(4)
        p.paragraph_format.left_indent = Cm(0.5)
        r = p.add_run(item)
        r.font.name = FONT_NAME
        r.font.size = Pt(FONT_SIZE)
        apply_font(p)

    sub_heading(doc, 'Sasaran, Output, dan Outcome')
    sasaran = [
        'Terwujudnya peningkatan populasi ternak produktif secara signifikan di sentra-sentra produksi peternakan Kalimantan Selatan.',
        'Terkendalinya secara efektif Penyakit Hewan Menular Strategis (PHMS) untuk meminimalkan kerugian ekonomi bagi peternak.',
        'Terwujudnya peningkatan produksi dan produktivitas ternak yang memenuhi standar mutu Aman, Sehat, Utuh, dan Halal (ASUH).',
        'Terwujudnya pemenuhan persyaratan teknis higiene dan sanitasi pada seluruh unit usaha produk peternakan di wilayah Provinsi Kalimantan Selatan.',
    ]
    for s in sasaran:
        p = doc.add_paragraph(style='List Bullet')
        p.paragraph_format.space_before = Pt(0)
        p.paragraph_format.space_after = Pt(4)
        p.paragraph_format.left_indent = Cm(0.5)
        r = p.add_run(s)
        r.font.name = FONT_NAME
        r.font.size = Pt(FONT_SIZE)

    doc.add_page_break()

    # ========================================================
    # BAB II - PERENCANAAN DAN REALISASI KINERJA
    # ========================================================
    bab_heading(doc, 'BAB II')
    bab_heading(doc, 'PERENCANAAN DAN REALISASI KINERJA')

    sub_heading(doc, 'Perjanjian Kinerja Tahun 2026')

    p = body_para(doc, 'Perjanjian Kinerja (PK) menjadi landasan fundamental yang memuat komitmen dan penugasan dari pimpinan instansi untuk melaksanakan program dan kegiatan yang terukur. Dokumen ini menjadi wujud akuntabilitas kinerja yang disepakati bersama, berdasarkan tugas, fungsi, wewenang, serta alokasi sumber daya yang tersedia. Perjanjian Kinerja ini menjadi pedoman dalam pengawasan dan evaluasi pelaksanaan program pembangunan peternakan di tingkat provinsi, sehingga setiap aktivitas dapat diukur dan dinilai secara objektif.')
    apply_font(p)

    p = body_para(doc, 'Tabel 1. Perjanjian Kinerja Bidang Peternakan dan Kesehatan Hewan Tahun 2026')
    apply_font(p)
    spc(doc)

    make_table(doc,
        ['NO.', 'KINERJA UTAMA', 'INDIKATOR KINERJA UTAMA'],
        [
            ['1', 'Meningkatkan produksi peternakan',
             'Peningkatan Produksi Daging, Telur, dan Susu\nDaging: 141.147 Ton\nTelur: 157.752 Ton\nSusu: 97 Ton'],
            ['2', 'Pengendalian Kesehatan Hewan dan Kesmavet',
             '1. Persentase Penurunan Kasus PHMS\n   Target: 85%\n2. Persentase Unit Usaha Berstandar ASUH\n   Target: 100%'],
        ])

    spc(doc, 2)
    sub_heading(doc, 'Realisasi Kinerja s.d. ' + triwulan_text + ' Tahun 2026')

    p = body_para(doc, 'Hingga akhir '+ triwulan_text +', Bidang Peternakan dan Kesehatan Hewan terus menunjukkan komitmen tinggi dalam merealisasikan target kinerja yang telah ditetapkan. Semester pertama tahun 2026 ini menjadi periode krusial untuk membangun fondasi pencapaian target tahunan, dimana berbagai program intensifikasi dan ekstensifikasi digulirkan secara sinergis oleh tiga seksi yaitu Seksi Perbibitan, Seksi Produksi dan Pakan, serta Seksi Kesehatan Hewan dan Kesmavet.')
    apply_font(p)

    p = body_para(doc, 'Tabel 2. Capaian Indikator Kinerja Utama s.d. ' + triwulan_text + ' Tahun 2026')
    apply_font(p)
    spc(doc)

    daging_pct = data_produksi['daging_pct']
    telur_pct  = data_produksi['telur_pct']
    susu_pct   = data_produksi['susu_pct']
    phms_pct   = data_phms['capaian_pct']
    asuh_pct   = data_asuh['capaian_pct']

    make_table(doc,
        ['NO.', 'KINERJA UTAMA', 'INDIKATOR KINERJA UTAMA', 'REALISASI S.D. ' + triwulan_text.upper()],
        [
            ['1', 'Meningkatkan produksi peternakan',
             'Peningkatan Produksi Daging, Telur, dan Susu\nTarget Annual:\nDaging: 141.147 Ton\nTelur: 157.752 Ton\nSusu: 97 Ton',
             'Capaian Produksi (Akumulatif):\nDaging: {:.0f} Ton ({:.1f}%)\nTelur: {:.0f} Ton ({:.1f}%)\nSusu: {:.0f} Ton ({:.1f}%)'.format(
                 141147*daging_pct/100, daging_pct,
                 157752*telur_pct/100, telur_pct,
                 97*susu_pct/100, susu_pct)],
            ['2', 'Pengendalian Kesehatan Hewan dan Kesmavet',
             '1. Penurunan Kasus PHMS\n   Target: 85%\n2. Unit Usaha Berstandar ASUH\n   Target: 100%',
             'Capaian Penurunan PHMS: {:.2f}%\n(Capaian thd target 85%: {:.1f}%)\nUnit Usaha ASUH: {:.2f}%\n(Capaian thd target 100%: {:.1f}%)'.format(
                 phms_pct, phms_pct/85*100,
                 asuh_pct, asuh_pct/100*100)],
        ])

    # Anggaran (if provided)
    if data_anggaran:
        spc(doc, 2)
        p = body_para(doc, 'Tabel 3. Realisasi Anggaran Bidang Peternakan dan Kesehatan Hewan s.d. ' + triwulan_text + ' Tahun 2026')
        apply_font(p)
        spc(doc)
        make_table(doc,
            ['URAIAN', 'PAGU (Rp)', 'REALISASI (Rp)', 'REALISASI (%)'],
            [[data_anggaran['urai'], data_anggaran['pagu'],
              data_anggaran['realisasi'], data_anggaran['persen']]])
        if data_fisik:
            spc(doc, 1)
            make_table(doc,
                ['INDIKATOR', 'TARGET (%)', 'REALISASI (%)', 'CAPAIAN (%)'],
                [[data_fisik['label'], '100%', data_fisik['realisasi'], data_fisik['capaian']]])

    doc.add_page_break()

    # ========================================================
    # BAB III - AKUNTABILITAS KINERJA
    # ========================================================
    bab_heading(doc, 'BAB III')
    bab_heading(doc, 'AKUNTABILITAS KINERJA')

    sub_heading(doc, 'Analisis dan Evaluasi Kinerja s.d. ' + triwulan_text + ' 2026')

    # 1. Analisis Capaian Produksi
    mini_heading(doc, '1. Analisis Capaian Produksi')

    p = body_para(doc, 'Realisasi produksi pada '+ triwulan_text +' 2026 menunjukkan trend yang sangat positif dan berada pada jalur yang tepat untuk pencapaian target tahunan. Capaian produksi daging sebesar {:.0f} ton atau {:.1f}% dari target tahunan 141.147 ton, produksi telur {:.0f} ton atau {:.1f}% dari target 157.752 ton, dan produksi susu {:.0f} ton atau {:.1f}% dari target 97 ton mengindikasikan bahwa laju pertumbuhan produksi berada pada proporsi yang sesuai dengan perencanaan. Pencapaian ini mencerminkan keberhasilan berbagai program intensifikasi yang telah diimplementasikan secara sinergis.'.format(
        141147*daging_pct/100, daging_pct,
        157752*telur_pct/100, telur_pct,
        97*susu_pct/100, susu_pct))
    apply_font(p)

    p = body_para(doc, 'Keberhasilan ini tidak terlepas dari efektivitas program intensifikasi dan ekstensifikasi yang berjalan sinergis. Program SIKOMANDAN terus menunjukkan dampak positif dalam meningkatkan angka kelahiran (conception rate) dan mutu genetik sapi potong, yang berujung pada peningkatan berat potong rata-rata. Inseminasi Buatan (IB) sebagai teknologi andalan terus digalakkan dengan melibatkan petugas inseminator bersertifikat di seluruh kabupatenzona sentra produksi. Di sisi lain, program SITI HAWA LARI berhasil mengoptimalkan lahan rawa untuk meningkatkan produktivitas itik melalui perbaikan manajemen pakan dan tatalaksana pemeliharaan. Program Sistem Integrasi Sapi-Sawit (SISKA) juga terus dikembangkan dengan menggandeng perkebunan kelapa sawit swasta untuk memanfaatkan limbah pertanian sebagai pakan ternak, sehingga menekan biaya produksi sekaligus meningkatkan Pendapatan Peternak.')
    apply_font(p)

    p = body_para(doc, 'Kondisi iklim yang relatif stabil selama periode ini turut mendukung keberhasilan produksi peternakan. Stabilitas cuaca memungkinkan persediaan hijauan makanan ternak tetap terjaga sepanjang musim, sehingga mengurangi ketergantungan pada pakan konsentrat yang harganya fluktuatif. Selain itu, koordinasi yang baik dengan Dinas Peternakan Kabupaten/Kota dalam distribusi benih/bibit unggul dan pendampingan teknis kepada peternak menjadi faktor pendukung utama. Ke depan, tantangan utama terletak pada pemeliharaan momentum pertumbuhan ini, mengingat target tahunan yang ambisius memerlukan effort konsisten pada triwulan-triwulan接下来的nya, khususnya dalam hal peningkatan angka kelahiran melalui akselerasi IB dan TE serta perlindungan terhadap ancaman penyakit dan bencana alam.')
    apply_font(p)

    # 2. Analisis Pengendalian Penyakit Hewan
    mini_heading(doc, '2. Analisis Pengendalian Penyakit Hewan')

    p = body_para(doc, 'Upaya pengendalian Penyakit Hewan Menular Strategis (PHMS) pada '+ triwulan_text +' menunjukkan hasil yang signifikan dan tetap menjadi prioritas utama Bidang Peternakan dan Kesehatan Hewan. Capaian penurunan kasus PHMS sebesar {:.2f}% terhadap target tahunan 85% ({:.1f}% dari target) menunjukkan bahwa sistem pertahanan kesehatan hewan yang dibangun selama ini telah berfungsi dengan baik dan berada pada rel yang benar untuk pencapaian target tahunan.'.format(phms_pct, phms_pct/85*100))
    apply_font(p)

    p = body_para(doc, 'Keberhasilan ini didorong oleh beberapa faktor pendukung yang saling melengkapi. Pertama, program vaksinasi preventif yang terjadwal dan terarah terus digalakkan untuk penyakit-penyakit prioritas seperti Penyakit Mulut dan Kuku (PMK), Septicaemia Epizootica (SE), dan Anthrax. Pelaksanaan vaksinasi dilakukan secara door-to-door oleh tim veteriner lapangan dengan melibatkan petugas kesehatan hewan kabupaten/kota. Kedua, pengawasan lalu lintas ternak diperketat di titik-titik rawan seperti pelabuhan, perbatasan provinsi, dan pasar ternak, dengan koordinasi intensif bersama Balai Karantina Hewan, Ikan, dan Tumbuhan (BKHIT) Kalimantan Selatan. Ketiga, peningkatan kesadaran dan disiplin dalam penerapan biosekuriti di kalangan peternak mulai menunjukkan hasil, dimana越来越多的 pelaku usaha peternakan mulai menerapkan standar hygiene dan sanitasi yang baik.')
    apply_font(p)

    p = body_para(doc, 'Namun demikian, terdapat beberapa kendala yang perlu mendapatkan perhatian serius. Keterbatasan jumlah SDM tenaga medis veteriner (Dokter Hewan) dan paramedis veteriner menyebabkan cakupan kegiatan surveilans, deteksi dini, dan respons cepat terhadap laporan kasus penyakit menjadi terbatas. Selain itu, keterbatasan pencairan dana di awal tahun anggaran mempengaruhi ketersediaan vaksin, obat-obatan, dan sarana disinfeksi. Sistem pelaporan iSIKHNAS yang belum optimal juga menyebabkan keterbatasan data awal untuk evaluasi komprehensif. Tindak lanjut yang telah dan akan dilakukan meliputi percepatan input Rencana Umum Pengadaan (RUP), peningkatan koordinasi dengan kabupaten/kota untuk berbagi beban tugas, serta optimalisasi pemantauan informasi secara digital melalui chatbot KIE NAKESWAN untuk menjangkau peternak di daerah terpencil.')
    apply_font(p)

    # 3. Analisis Kesmavet
    mini_heading(doc, '3. Analisis Kesehatan Masyarakat Veteriner')

    p = body_para(doc, 'Pada aspek kesehatan masyarakat veteriner (kesmavet), komitmen untuk menjamin produk yang Aman, Sehat, Utuh, dan Halal (ASUH) terus diwujudkan secara nyata dan tanpa kompromi. Capaian sebesar {:.2f}% dari target 100% unit usaha berstandar ASUH ({:.1f}% dari target) menunjukkan bahwa kegiatan pengawasan dan pembinaan telah berjalan sesuai dengan perencanaan semester pertama, meskipun masih memerlukan akselerasi pada periode接下来的nya.'.format(asuh_pct, asuh_pct/100*100))
    apply_font(p)

    p = body_para(doc, 'Selama '+ triwulan_text +', kegiatan pengawasan dan pembinaan yang intensif telah memastikan bahwa sebagian besar unit usaha yang menjadi sasaran program, termasuk Rumah Potong Hewan (RPH), Rumah Potong Unggas (RPU), dan unit pengolahan susu, telah menerapkan standar keamanan pangan yang dipersyaratkan. Penerapan sertifikasi Nomor Kontrol Veteriner (NKV) terus diupayakan sebagai instrumen strategis untuk meningkatkan daya saing produk dan membuka akses pasar ritel modern, hotel, restoran, dan katering (Horeka). Sertifikasi NKV berfungsi sebagai "paspor dagang" yang memungkinkan produk peternakan Kalimantan Selatan menembus pasar yang lebih luas dan bernilai tambah tinggi.')
    apply_font(p)

    p = body_para(doc, 'Kendala utama yang dihadapi adalah keterbatasan SDM auditor NKV tingkat provinsi dan kesiapan pelaku unit usaha dalam melengkapi persyaratan administrasi dan teknis untuk sertifikasi NKV yang masih bervariasi. Beberapa unit usaha memerlukan pendampingan intensif untuk memenuhi standar higiene dan sanitasi, sementara yang lain terkendala pada kelengkapan dokumen pendukung. Tindak lanjut difokuskan pada penyusunan jadwal surveilans dan audit secara sistematis bersama Dinas Kabupaten/Kota, pengetatan pemeriksaan pada checkpoint pintu masuk hewan, serta加快了 proses sertifikasi NKV bagi unit usaha yang sudah memenuhi persyaratan untuk mendukung pencapaian target 100% pada akhir tahun.')
    apply_font(p)

    # Target & Realisasi
    mini_heading(doc, '4. Target dan Realisasi Rencana Aksi Kinerja')

    p = body_para(doc, 'Rencana aksi kinerja individu pada '+ triwulan_text +' difokuskan pada dua hasil kerja utama. Hasil kerja pertama adalah "Meningkatkan Populasi Ternak" yang diukur melalui tiga indikator kinerja individu, yaitu Persentase Peningkatan Produksi Daging Peternakan, Persentase Peningkatan Produksi Telur Peternakan, dan Persentase Peningkatan Produksi Susu Peternakan, dengan target peningkatan sebesar 9% per tahun. Hasil kerja kedua adalah "Menurunkan dan Mengendalikan Kasus Kejadian Penyakit Hewan Menular Strategis" yang diukur melalui indikator Persentase Penurunan Kejadian Jumlah Kasus PHMS dengan target 85% dan Persentase Unit Usaha yang menghasilkan produk ASUH dengan target 100%.')
    apply_font(p)

    p = body_para(doc, 'Realisasi terhadap target rencana aksi pada '+ triwulan_text +' menunjukkan akselerasi yang berkelanjutan pada seluruh indikator. Capaian pada indikator produksi daging, telur, dan susu yang proporsional dengan periode waktu menunjukkan bahwa program-program yang dijalankan telah berjalan efektif dan berada pada jalur yang tepat untuk pencapaian target tahunan. Begitu pula dengan indikator pengendalian PHMS dan unit usaha ASUH yang realisasinya berada pada proporsi yang sesuai dengan perencanaan. Ke depan, diperlukan effort ekstra untuk meningkatkan capaian ASUH mengingat target 100% yang harus dicapai pada akhir tahun.')
    apply_font(p)

    doc.add_page_break()

    # ========================================================
    # BAB IV - PENUTUP
    # ========================================================
    bab_heading(doc, 'BAB IV')
    bab_heading(doc, 'PENUTUP')

    sub_heading(doc, 'Kesimpulan')

    kesimpulan = [
        'Laporan kinerja '+ triwulan_text +' Tahun 2026 ini merefleksikan sebuah pencapaian yang sangat memuaskan dan menjadi landasan yang kokoh untuk sisa tahun berjalan. Pada aspek produksi peternakan, realizesi yang proporsional dengan periode waktu menandakan efektivitas program intensifikasi dan ekstensifikasi yang dijalankan secara sinergis oleh seluruh unit kerja di Bidang Peternakan dan Kesehatan Hewan. Keberhasilan ini juga mencerminkan resiliensi sektor peternakan Kalimantan Selatan dalam menghadapi berbagai tantangan, termasuk keterbatasan SDM, dinamika iklim, dan fluktuasi harga pakan. Capaian ini menegaskan bahwa Kalimantan Selatan berada pada jalur yang tepat untuk menjadi salah satu pilar ketahanan pangan nasional, khususnya dalam penyediaan protein hewani.',
        'Dalam pengendalian penyakit hewan, keberhasilan menjaga tren penurunan kasus PHMS menunjukkan bahwa sistem pertahanan kesehatan hewan yang dibangun selama ini telah berfungsi dengan baik dan efektif. Kesadaran peternak akan pentingnya biosekuriti yang mulai meningkat, koordinasi antarinstansi yang semakin erat, serta ketersediaan stok vaksin dan obat-obatan dari buffer stock sebelumnya menjadi modal krusial untuk merealisasikan target penurunan kasus PHMS sebesar 85% pada akhir tahun 2026. Pencapaian ini juga berkontribusi pada mempertahankan dan meningkatkan kepercayaan pasar dan mitra dagang dari luar daerah terhadap status kesehatan hewan di Kalimantan Selatan.',
        'Pada aspek kesehatan masyarakat veteriner, komitmen untuk menjamin produk ASUH terus diwujudkan melalui kegiatan pengawasan dan pembinaan yang intensif. Meskipun menghadapi kendala keterbatasan SDM auditor dan kesiapan pelaku unit usaha yang belum merata, upaya-upaya sistematis terus dilakukan untuk mengakselerasi sertifikasi NKV dan pengawasan keamanan pangan asal hewan. Hal ini menjadi sangat penting mengingat tuntutan pasar modern yang semakin ketat terhadap jaminan keamanan dan kualitas produk peternakan.',
        'Secara finansial, penyerapan anggaran yang proporsional dengan periode waktu menunjukkan bahwa pelaksanaan program dan kegiatan berjalan sesuai dengan perencanaan. Ke depan, diperlukan akselerasi penyerapan anggaran pada periode接下来的nya untuk memastikan target tahunan tercapai secara optimal, disamping penguatan monitoring dan evaluasi berkala terhadap capaian kinerja maupun keuangan.',
    ]

    for t in kesimpulan:
        p = body_para(doc, t)
        apply_font(p)

    spc(doc, 2)

    sub_heading(doc, 'Tanggapan Atasan Langsung')
    tbl_t = make_table(doc,
        ['NO.', 'TANGGAPAN', 'KETERANGAN'],
        [['1', 'Laporan kurang baik', '......'],
         ['2', 'Laporan sudah baik', '......'],
         ['3', 'Laporan diperbaiki', '......'],
         ['4', 'Realisasi diteliti ulang', '......'],
         ['5', 'Capaian diteliti ulang', '......'],
         ['6', 'Lain – lain', '......']])
    # overwrite with left alignment for text column
    for row in tbl_t.rows:
        for ci in range(1, 3):
            for para in row.cells[ci].paragraphs:
                para.alignment = WD_ALIGN_PARAGRAPH.LEFT

    spc(doc, 3)

    # Signature
    for text in ['Mengetahui,', '', 'Kepala Dinas,']:
        p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
        add_run(p, text, size=FONT_SIZE)
    spc(doc, 3)
    for text in ['Drh. Suparmi, M.S', 'NIP. 196809111995032003']:
        p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
        add_run(p, text, size=FONT_SIZE)

    spc(doc, 4)
    p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
    add_run(p, lampiran_text, size=FONT_SIZE)
    spc(doc)
    for text in ['Kepala Bidang Peternakan dan', 'Kesehatan Hewan,']:
        p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
        add_run(p, text, size=FONT_SIZE)
    spc(doc, 3)
    for text in ['Drh. Edi Santosa', 'NIP. 197409182008031001']:
        p = new_para(doc, align=WD_ALIGN_PARAGRAPH.LEFT, sa=2)
        add_run(p, text, size=FONT_SIZE)

    doc.save(output_path)
    print(f'OK: {output_path}')
