#!/usr/bin/env python3
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

doc = Document()

# Page setup
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)

def add_para(doc, text='', bold=False, italic=False, size=11,
             align=WD_ALIGN_PARAGRAPH.JUSTIFY, space_before=0, space_after=6,
             color=None, indent=0):
    p = doc.add_paragraph()
    p.alignment = align
    p.paragraph_format.space_before = Pt(space_before)
    p.paragraph_format.space_after = Pt(space_after)
    if indent:
        p.paragraph_format.left_indent = Inches(indent)
    if text:
        run = p.add_run(text)
        run.bold = bold
        run.italic = italic
        run.font.size = Pt(size)
        if color:
            run.font.color.rgb = RGBColor(*color)
    return p

def add_heading_line(doc, text, size=14, color=(22, 50, 61)):
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.LEFT
    p.paragraph_format.space_before = Pt(0)
    p.paragraph_format.space_after = Pt(4)
    run = p.add_run(text)
    run.bold = True
    run.font.size = Pt(size)
    run.font.color.rgb = RGBColor(*color)
    return p

def add_subheading(doc, text, size=12):
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.LEFT
    p.paragraph_format.space_before = Pt(10)
    p.paragraph_format.space_after = Pt(4)
    run = p.add_run(text)
    run.bold = True
    run.font.size = Pt(size)
    run.font.color.rgb = RGBColor(22, 50, 61)
    return p

def add_mini_heading(doc, text, size=11):
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.LEFT
    p.paragraph_format.space_before = Pt(8)
    p.paragraph_format.space_after = Pt(3)
    run = p.add_run(text)
    run.bold = True
    run.font.size = Pt(size)
    run.font.color.rgb = RGBColor(22, 50, 61)
    return p

def set_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)

def make_table_header_row(row, headers, bg='D9EAD3'):
    for i, h in enumerate(headers):
        cell = row.cells[i]
        cell.text = h
        para = cell.paragraphs[0]
        para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        if para.runs:
            para.runs[0].bold = True
            para.runs[0].font.size = Pt(10)
        set_cell_bg(cell, bg)

def table_data(doc, headers, rows_data, bg_header='D9EAD3'):
    tbl = doc.add_table(rows=1+len(rows_data), cols=len(headers))
    tbl.style = 'Table Grid'
    tbl.alignment = WD_TABLE_ALIGNMENT.CENTER
    make_table_header_row(tbl.rows[0], headers, bg_header)
    for ri, row_vals in enumerate(rows_data):
        row = tbl.rows[ri+1]
        for ci, val in enumerate(row_vals):
            row.cells[ci].text = val
            for para in row.cells[ci].paragraphs:
                for run in para.runs:
                    run.font.size = Pt(10)
    return tbl

def spacer(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)

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

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_after = Pt(0)
r = p.add_run('LAPORAN KINERJA')
r.bold = True; r.font.size = Pt(22); r.font.color.rgb = RGBColor(22, 50, 61)

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_after = Pt(0)
r = p.add_run('TAHUN 2026')
r.bold = True; r.font.size = Pt(22); r.font.color.rgb = RGBColor(22, 50, 61)

spacer(doc, 2)

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_after = Pt(0)
r = p.add_run('TRIWULAN I')
r.bold = True; r.font.size = Pt(16); r.font.color.rgb = RGBColor(184, 135, 58)

spacer(doc, 4)

for text in ['BIDANG PETERNAKAN DAN KESEHATAN HEWAN',
             'DINAS PERKEBUNAN DAN PETERNAKAN',
             'PROVINSI KALIMANTAN SELATAN']:
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.CENTER
    p.paragraph_format.space_after = Pt(4)
    r = p.add_run(text)
    r.bold = True; r.font.size = Pt(14); r.font.color.rgb = RGBColor(22, 50, 61)

doc.add_page_break()

# ============================================================
# KATA PENGANTAR
# ============================================================
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_after = Pt(12)
r = p.add_run('KATA PENGANTAR')
r.bold = True; r.font.size = Pt(14); r.font.color.rgb = RGBColor(22, 50, 61)

kp_paras = [
    'Segala puji dan syukur kami panjatkan kehadirat Allah SWT, atas limpahan rahmat dan karunia-Nya sehingga Laporan Kinerja Triwulan I 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 Triwulan I Tahun 2026. Hasil evaluasi ini akan menjadi landasan strategis untuk perbaikan kinerja pada triwulan 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_paras:
    add_para(doc, t, size=11)

spacer(doc)
add_para(doc, 'Banjarbaru, April 2026', align=WD_ALIGN_PARAGRAPH.LEFT, space_after=20)
add_para(doc, 'Kepala Bidang Peternakan dan', align=WD_ALIGN_PARAGRAPH.LEFT)
add_para(doc, 'Kesehatan Hewan,', align=WD_ALIGN_PARAGRAPH.LEFT, space_after=30)
spacer(doc, 2)
add_para(doc, 'Drh. Edi Santosa', align=WD_ALIGN_PARAGRAPH.LEFT)
add_para(doc, 'NIP. 197409182008031001', align=WD_ALIGN_PARAGRAPH.LEFT)

doc.add_page_break()

# ============================================================
# BAB I - PENDAHULUAN
# ============================================================
add_heading_line(doc, 'BAB I', size=14)
add_heading_line(doc, 'PENDAHULUAN', size=14)

add_subheading(doc, 'Latar Belakang')

lb_paras = [
    'Memasuki 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, yang pada akhirnya bertujuan untuk secara bertahap mengurangi ketergantungan pada produk peternakan impor dan bahkan membuka peluang pasar ekspor.',
    '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.',
]
for t in lb_paras:
    add_para(doc, t)

add_subheading(doc, 'Maksud dan Tujuan')

add_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 I 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.')

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

tujuan = [
    'Peningkatan Populasi dan Produktivitas Ternak: Melalui program perbibitan unggul, akselerasi teknologi reproduksi seperti Inseminasi Buatan (IB) dan Transfer Embrio (TE), serta perbaikan manajemen 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 t in tujuan:
    p = doc.add_paragraph(style='List Bullet')
    p.paragraph_format.space_after = Pt(4)
    run = p.add_run(t)
    run.font.size = Pt(11)

doc.add_page_break()

# ============================================================
# BAB II - PERENCANAAN DAN REALISASI KINERJA
# ============================================================
add_heading_line(doc, 'BAB II', size=14)
add_heading_line(doc, 'PERENCANAAN DAN REALISASI KINERJA', size=14)

add_subheading(doc, 'Perjanjian Kinerja Tahun 2026')

add_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.')

add_para(doc, 'Tabel 1. Perjanjian Kinerja Bidang Peternakan dan Kesehatan Hewan Tahun 2026', bold=True, space_after=4)

table_data(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\n2. Persentase unit usaha berstandar ASUH\n\n85%\n100%'],
    ])

spacer(doc, 2)
add_para(doc, 'Realisasi Kinerja s.d. Triwulan I Tahun 2026', bold=True, space_after=4)
add_para(doc, 'Hingga akhir Triwulan I, Bidang Peternakan dan Kesehatan Hewan terus menunjukkan komitmen tinggi dalam merealisasikan target kinerja. Fokus utama tetap pada pencapaian target produksi, pengendalian penyakit secara efektif, dan penjaminan mutu produk peternakan.')

add_para(doc, 'Tabel 2. Capaian Indikator Kinerja Utama s.d. Triwulan I Tahun 2026', bold=True, space_after=4)

table_data(doc,
    ['NO.', 'KINERJA UTAMA', 'INDIKATOR KINERJA UTAMA', 'REALISASI S.D. TRIWULAN I'],
    [
        ['1', 'Meningkatkan produksi peternakan',
         'Peningkatan Produksi Daging, Telur, dan Susu\nDaging: 141.147 Ton\nTelur: 157.752 Ton\nSusu: 97 Ton',
         'Daging: ... Ton (...%)\nTelur: ... Ton (...%)\nSusu: ... Ton (...%)'],
        ['2', 'Pengendalian Kesehatan Hewan dan Kesmavet',
         '1. Persentase Penurunan Kasus PHMS\n2. Persentase unit usaha berstandar ASUH\n\n85%\n100%',
         '...%\n...%'],
    ])

doc.add_page_break()

# ============================================================
# BAB III - AKUNTABILITAS KINERJA
# ============================================================
add_heading_line(doc, 'BAB III', size=14)
add_heading_line(doc, 'AKUNTABILITAS KINERJA', size=14)

add_subheading(doc, 'Analisis dan Evaluasi Kinerja s.d. Triwulan I 2026')

add_mini_heading(doc, '1. Analisis Capaian Produksi')
add_para(doc, 'Realisasi produksi pada Triwulan I 2026 menunjukkan tren yang sangat positif. Capaian produksi daging sebesar ... ton telah memenuhi ...% dari target tahunan, sementara telur (... ton, ...%) dan susu (... ton, ...%) juga menunjukkan tren serupa. Keberhasilan ini tidak terlepas dari efektivitas program intensifikasi, seperti peningkatan angka kelahiran melalui program SIKOMANDAN dan perbaikan manajemen pemeliharaan. Selain itu, kondisi iklim yang relatif kondusif selama triwulan pertama serta terjaganya stabilitas pasokan dan harga pakan di tingkat peternak menjadi faktor pendukung yang krusial.')

add_mini_heading(doc, '2. Analisis Pengendalian Penyakit Hewan')
add_para(doc, 'Upaya pengendalian PHMS pada triwulan pertama menunjukkan hasil yang signifikan dan patut diapresiasi. Capaian ini menjadi fondasi penting dalam upaya mencapai target penurunan kasus PHMS sebesar 85% pada akhir tahun 2026. Program vaksinasi preventif yang terjadwal, pengawasan lalu lintas ternak yang diperketat di titik-titik rawan, serta peningkatan kesadaran dan penerapan biosekuriti di kalangan peternak menjadi kunci utama keberhasilan ini.')

add_mini_heading(doc, '3. Analisis Kesehatan Masyarakat Veteriner')
add_para(doc, 'Pada aspek kesehatan masyarakat veteriner (kesmavet), komitmen untuk menjamin produk ASUH terus diwujudkan secara nyata. Selama Triwulan I, kegiatan pengawasan dan pembinaan yang intensif telah memastikan bahwa ...% unit usaha yang menjadi sasaran program, termasuk Rumah Potong Hewan (RPH) dan unit pengolahan, telah menerapkan standar keamanan pangan yang dipersyaratkan.')

add_mini_heading(doc, 'Target Rencana Aksi Kinerja')
add_para(doc, 'Rencana aksi kinerja individu pada Triwulan I difokuskan pada dua hasil kerja utama. Pertama, adalah "Meningkatkan Populasi Ternak", yang diukur melalui tiga indikator kinerja individu, yaitu Persentase Peningkatan Produksi Daging, Telur, dan Susu Peternakan, dengan target peningkatan sebesar 3% hingga 5% per tahun. Kedua, adalah "Menurunkan dan Mengendalikan Kasus Kejadian Penyakit Hewan Menular Strategis", yang diukur melalui indikator Persentase Penurunan Kejadian Jumlah Kasus PHMS (target 85%) dan Persentase Unit Usaha yang menghasilkan produk ASUH (target 100%).')

add_mini_heading(doc, 'Realisasi Rencana Aksi Kinerja')
add_para(doc, 'Realisasi terhadap target rencana aksi pada Triwulan I menunjukkan akselerasi yang berkelanjutan. Secara rinci, realisasi untuk indikator Persentase Peningkatan Produksi Daging Peternakan tercatat sebesar ...%. Capaian untuk indikator Persentase Peningkatan Produksi Telur Peternakan mencapai ...%, serta Persentase Peningkatan Produksi Susu Peternakan tercatat sebesar ...%. Untuk rencana hasil kerja pengendalian PHMS, realizesi penurunan kasus penyakit tercatat sebesar ...%, dan untuk indikator persentase unit usaha yang menghasilkan produk ASUH realisasinya berada di angka ...%.')

doc.add_page_break()

# ============================================================
# BAB IV - PENUTUP
# ============================================================
add_heading_line(doc, 'BAB IV', size=14)
add_heading_line(doc, 'PENUTUP', size=14)

add_subheading(doc, 'Kesimpulan')

kesimpulan = [
    'Laporan kinerja hingga Triwulan I Tahun 2026 ini merefleksikan sebuah pencapaian yang sangat memuaskan dan menjadi landasan yang kokoh untuk sisa tahun berjalan. Pada aspek produksi, realizesi triwulan pertama menandakan efektivitas program, resiliensi sektor, dan dedikasi luar biasa dari seluruh pemangku kepentingan, terutama para peternak. Capaian ini menegaskan bahwa Kalimantan Selatan berada di jalur yang tepat untuk menjadi salah satu pilar ketahanan pangan nasional.',
    'Dalam pengendalian penyakit, keberhasilan menjaga tren penurunan kasus PHMS menunjukkan bahwa sistem pertahanan kesehatan hewan yang dibangun telah berfungsi dengan baik dan efektif. Capaian ini menjadi modal krusial untuk mewujudkan target ambisius penurunan kasus sebesar 85% pada akhir tahun, serta mempertahankan kepercayaan pasar terhadap produk asal Kalimantan Selatan.',
    'Memasuki triwulan berikutnya, kami berkomitmen untuk tidak hanya mempertahankan, tetapi juga meningkatkan momentum positif ini. Fokus strategis akan diarahkan pada penguatan sistem surveilans di daerah beresiko untuk mencegah masuknya penyakit, percepatan sertifikasi NKV bagi unit usaha potensial untuk membuka akses pasar yang lebih luas, serta inovasi dalam program pemberdayaan peternak untuk memastikan keberlanjutan produksi. Terima kasih kami sampaikan kepada seluruh tim, petugas lapangan, dan mitra kerja atas kontribusi maksimalnya.',
]
for t in kesimpulan:
    add_para(doc, t)

spacer(doc)
add_para(doc, 'Tanggapan Atasan Langsung:', bold=True)

tbl_tanggapan = doc.add_table(rows=6, cols=2)
tbl_tanggapan.style = 'Table Grid'
tanggapan_opts = [
    'Laporan kurang baik',
    'Laporan sudah baik',
    'Laporan diperbaiki',
    'Realisasi diteliti ulang',
    'Capaian diteliti ulang',
    'Lain – lain',
]
for i, label in enumerate(tanggapan_opts):
    tbl_tanggapan.rows[i].cells[0].text = label
    tbl_tanggapan.rows[i].cells[1].text = '......'
    tbl_tanggapan.rows[i].cells[1].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER

spacer(doc, 3)

# Signature
for t in ['Mengetahui,', '', 'Kepala Dinas,', '', '', '', 'Drh. Suparmi, MS', 'NIP. 196809111995032003']:
    add_para(doc, t, align=WD_ALIGN_PARAGRAPH.LEFT, space_after=2 if t else 0)

spacer(doc, 4)
add_para(doc, 'Banjarbaru, April 2026', align=WD_ALIGN_PARAGRAPH.LEFT)
spacer(doc)
for t in ['Kepala Bidang Peternakan dan', 'Kesehatan Hewan,', '', '', 'Drh. Edi Santosa', 'NIP. 197409182008031001']:
    add_para(doc, t, align=WD_ALIGN_PARAGRAPH.LEFT, space_after=2 if t else 0)

# Save
output = '/home/ubuntu/kantor/LAPORAN KINERJA TW1 2026 - Bidang Peternakan dan Kesehatan Hewan.docx'
doc.save(output)
print(f'OK: {output}')
