import prisma from "@/lib/prisma";
import { JenisKelaminBalita, StatusStunting } from "@prisma/client";

// Fokus data: proporsi stunting realistis untuk simulasi dashboard
// 10 STUNTING, 7 ALERT, 8 NORMAL dari 25 total
const BALITA_DATA = [
  // ===== STUNTING (TB/U < -2 SD dari median WHO) =====
  {
    id: "balita_001",
    nama: "Wayan Aditya Pratama",
    nik: "5101014505230001",
    tanggalLahir: new Date("2023-05-04"), // 36 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 11.5,
    tinggiBadanCm: 83.0, // median 96cm, -2SD ~89cm
    namaOrtu: "I Wayan Suardika",
    alamat: "Banjar Pudak, Desa Darmasaba",
    noHpOrtu: "08123456801",
    posyanduId: "cmkanjnmx0006vntz1cn7owpb",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.8 SD. Dalam program PMT (Pemberian Makanan Tambahan). Orang tua sudah mendapat konseling gizi.",
  },
  {
    id: "balita_002",
    nama: "Ni Kadek Mira Sari",
    nik: "5101014501240002",
    tanggalLahir: new Date("2024-01-04"), // 16 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 7.8,
    tinggiBadanCm: 70.5, // median ~78cm
    namaOrtu: "I Kadek Suartha",
    alamat: "Banjar Dahlia, Desa Darmasaba",
    noHpOrtu: "08123456802",
    posyanduId: "posyandu_dahlia_001",
    imunisasiLengkap: false,
    giziBaik: false,
    pemeriksaanRutin: false,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -3.1 SD. Imunisasi belum lengkap. Ibu bekerja, kunjungan posyandu tidak rutin. Perlu pendampingan kader.",
  },
  {
    id: "balita_003",
    nama: "Putu Rian Saputra",
    nik: "5101014501220003",
    tanggalLahir: new Date("2022-01-04"), // 40 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 12.5,
    tinggiBadanCm: 89.0, // median 103cm
    namaOrtu: "Ni Putu Sumiati",
    alamat: "Banjar Dahlia, Desa Darmasaba",
    noHpOrtu: "08123456803",
    posyanduId: "posyandu_dahlia_001",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -3.2 SD. Sudah dirujuk ke Puskesmas Abiansemal 3 untuk pemeriksaan lebih lanjut.",
  },
  {
    id: "balita_004",
    nama: "Ni Komang Ayu Lestari",
    nik: "5101014507230004",
    tanggalLahir: new Date("2023-07-04"), // 22 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 8.2,
    tinggiBadanCm: 74.0, // median ~84cm
    namaOrtu: "I Komang Sudiarta",
    alamat: "Banjar Anggrek, Desa Darmasaba",
    noHpOrtu: "08123456804",
    posyanduId: "posyandu_anggrek_001",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.5 SD. Riwayat BBLR (berat lahir rendah) 2.3 kg.",
  },
  {
    id: "balita_005",
    nama: "Ketut Agus Pratama",
    nik: "5101014507240005",
    tanggalLahir: new Date("2024-07-04"), // 10 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 6.9,
    tinggiBadanCm: 66.0, // median ~72cm
    namaOrtu: "Ni Ketut Sariani",
    alamat: "Banjar Kamboja, Desa Darmasaba",
    noHpOrtu: "08123456805",
    posyanduId: "posyandu_kamboja_001",
    imunisasiLengkap: false,
    giziBaik: false,
    pemeriksaanRutin: false,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.3 SD. Lahir prematur 35 minggu. Keluarga prasejahtera, masuk program PKH.",
  },
  {
    id: "balita_006",
    nama: "Ni Made Sinta Dewi",
    nik: "5101014507220006",
    tanggalLahir: new Date("2022-07-04"), // 34 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 11.0,
    tinggiBadanCm: 84.5, // median ~94cm
    namaOrtu: "I Made Sudarsana",
    alamat: "Banjar Melur, Desa Darmasaba",
    noHpOrtu: "08123456806",
    posyanduId: "posyandu_melur_001",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.6 SD. Nafsu makan rendah, sedang dalam pantauan ahli gizi Puskesmas.",
  },
  {
    id: "balita_007",
    nama: "Made Dani Putra",
    nik: "5101014501250007",
    tanggalLahir: new Date("2025-01-04"), // 4 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 5.0,
    tinggiBadanCm: 57.0, // median ~63cm
    namaOrtu: "Ni Made Suparni",
    alamat: "Banjar Kenanga, Desa Darmasaba",
    noHpOrtu: "08123456807",
    posyanduId: "posyandu_kenanga_001",
    imunisasiLengkap: false,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.4 SD. BBLR 2.1 kg, ibu ASI eksklusif. Kunjungan rutin ke posyandu.",
  },
  {
    id: "balita_008",
    nama: "Ni Putu Ratna Sari",
    nik: "5101014507210008",
    tanggalLahir: new Date("2021-07-04"), // 46 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 13.0,
    tinggiBadanCm: 92.0, // median ~106cm
    namaOrtu: "I Putu Suarjana",
    alamat: "Banjar Mawar, Desa Darmasaba",
    noHpOrtu: "08123456808",
    posyanduId: "posyandu_mawar_001",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.9 SD. Sudah 6 bulan dalam program intervensi stunting desa.",
  },
  {
    id: "balita_009",
    nama: "Gede Yoga Pratama",
    nik: "5101014505210009",
    tanggalLahir: new Date("2021-05-04"), // 48 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 13.5,
    tinggiBadanCm: 91.0, // median ~108cm
    namaOrtu: "Ni Wayan Suarningsih",
    alamat: "Banjar Pudak, Desa Darmasaba",
    noHpOrtu: "08123456809",
    posyanduId: "cmkanjnmx0006vntz1cn7owpb",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: false,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -3.0 SD. Keluarga baru pindah dari luar desa. Sedang proses pendataan ulang.",
  },
  {
    id: "balita_010",
    nama: "Ni Nyoman Sari Utami",
    nik: "5101014505230010",
    tanggalLahir: new Date("2023-05-04"), // 24 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 9.5,
    tinggiBadanCm: 80.0, // median ~87cm
    namaOrtu: "I Nyoman Sueca",
    alamat: "Banjar Melati, Desa Darmasaba",
    noHpOrtu: "08123456810",
    posyanduId: "posyandu_melati_001",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.STUNTING,
    catatan: "TB/U -2.2 SD. Batas bawah stunting. Perlu dipantau ketat tiap bulan.",
  },

  // ===== ALERT (TB/U antara -1 SD dan -2 SD) =====
  {
    id: "balita_011",
    nama: "Wayan Krisna Dewa",
    nik: "5101014501240011",
    tanggalLahir: new Date("2024-01-04"), // 16 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 9.8,
    tinggiBadanCm: 74.0, // median ~78cm, -1SD ~75cm
    namaOrtu: "I Wayan Artana",
    alamat: "Banjar Mawar, Desa Darmasaba",
    noHpOrtu: "08123456811",
    posyanduId: "posyandu_mawar_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.5 SD. Perlu pemantauan lebih lanjut, gizi cukup baik.",
  },
  {
    id: "balita_012",
    nama: "Ni Wayan Novi Andriani",
    nik: "5101014505230012",
    tanggalLahir: new Date("2023-05-04"), // 24 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 10.8,
    tinggiBadanCm: 83.0, // median ~87cm
    namaOrtu: "Ni Wayan Artini",
    alamat: "Banjar Melati, Desa Darmasaba",
    noHpOrtu: "08123456812",
    posyanduId: "posyandu_melati_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.8 SD. Nafsu makan baik, BB naik konsisten.",
  },
  {
    id: "balita_013",
    nama: "Putu Deva Mahendra",
    nik: "5101014511240013",
    tanggalLahir: new Date("2024-11-04"), // 6 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 6.8,
    tinggiBadanCm: 63.5, // median ~67cm
    namaOrtu: "I Putu Ariana",
    alamat: "Banjar Anggrek, Desa Darmasaba",
    noHpOrtu: "08123456813",
    posyanduId: "posyandu_anggrek_001",
    imunisasiLengkap: false,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.6 SD. ASI eksklusif. Jadwal imunisasi DPT ketiga belum terlaksana.",
  },
  {
    id: "balita_014",
    nama: "Ni Komang Dewi Lestari",
    nik: "5101014501220014",
    tanggalLahir: new Date("2022-01-04"), // 40 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 14.0,
    tinggiBadanCm: 96.0, // median ~103cm
    namaOrtu: "I Komang Wirawan",
    alamat: "Banjar Kamboja, Desa Darmasaba",
    noHpOrtu: "08123456814",
    posyanduId: "posyandu_kamboja_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.4 SD. Konsumsi protein hewani belum cukup, edukasi diberikan.",
  },
  {
    id: "balita_015",
    nama: "Made Surya Darma",
    nik: "5101014511230015",
    tanggalLahir: new Date("2023-11-04"), // 18 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 10.2,
    tinggiBadanCm: 76.0, // median ~82cm
    namaOrtu: "Ni Made Sudarmi",
    alamat: "Banjar Melur, Desa Darmasaba",
    noHpOrtu: "08123456815",
    posyanduId: "posyandu_melur_001",
    imunisasiLengkap: true,
    giziBaik: false,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.9 SD. Sedang mendapat PMT (makanan tambahan) dari desa.",
  },
  {
    id: "balita_016",
    nama: "Ni Kadek Ayu Purnami",
    nik: "5101014505250016",
    tanggalLahir: new Date("2025-05-04"), // 0 bulan (baru lahir - 1 bulan)
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 3.5,
    tinggiBadanCm: 49.0, // median ~52cm
    namaOrtu: "I Kadek Suartha",
    alamat: "Banjar Kenanga, Desa Darmasaba",
    noHpOrtu: "08123456816",
    posyanduId: "posyandu_kenanga_001",
    imunisasiLengkap: false,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.7 SD. Bayi baru, lahir 2.8 kg. Dipantau dari awal.",
  },
  {
    id: "balita_017",
    nama: "Ketut Bayu Setiawan",
    nik: "5101014511220017",
    tanggalLahir: new Date("2022-11-04"), // 30 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 13.2,
    tinggiBadanCm: 88.0, // median ~93cm
    namaOrtu: "Ni Ketut Suarni",
    alamat: "Banjar Dahlia, Desa Darmasaba",
    noHpOrtu: "08123456817",
    posyanduId: "posyandu_dahlia_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.ALERT,
    catatan: "TB/U -1.3 SD. Tumbuh kembang membaik dalam 3 bulan terakhir.",
  },

  // ===== NORMAL =====
  {
    id: "balita_018",
    nama: "Ni Made Intan Permata",
    nik: "5101014501240018",
    tanggalLahir: new Date("2024-01-04"), // 16 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 10.5,
    tinggiBadanCm: 78.0,
    namaOrtu: "I Made Sudiarsa",
    alamat: "Banjar Mawar, Desa Darmasaba",
    noHpOrtu: "08123456818",
    posyanduId: "posyandu_mawar_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_019",
    nama: "Wayan Arya Nugraha",
    nik: "5101014505230019",
    tanggalLahir: new Date("2023-05-04"), // 24 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 12.0,
    tinggiBadanCm: 87.0,
    namaOrtu: "Ni Wayan Suarni",
    alamat: "Banjar Pudak, Desa Darmasaba",
    noHpOrtu: "08123456819",
    posyanduId: "cmkanjnmx0006vntz1cn7owpb",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_020",
    nama: "Ni Putu Cantika Dewi",
    nik: "5101014501220020",
    tanggalLahir: new Date("2022-01-04"), // 40 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 15.5,
    tinggiBadanCm: 103.0,
    namaOrtu: "I Putu Sudiarta",
    alamat: "Banjar Melati, Desa Darmasaba",
    noHpOrtu: "08123456820",
    posyanduId: "posyandu_melati_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_021",
    nama: "Komang Danu Mahesa",
    nik: "5101014505250021",
    tanggalLahir: new Date("2025-05-04"), // 0 bulan (newborn)
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 3.8,
    tinggiBadanCm: 52.0,
    namaOrtu: "Ni Komang Artini",
    alamat: "Banjar Anggrek, Desa Darmasaba",
    noHpOrtu: "08123456821",
    posyanduId: "posyandu_anggrek_001",
    imunisasiLengkap: false,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_022",
    nama: "Ni Nyoman Suka Rani",
    nik: "5101014505210022",
    tanggalLahir: new Date("2021-05-04"), // 48 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 16.5,
    tinggiBadanCm: 105.0,
    namaOrtu: "I Nyoman Suarman",
    alamat: "Banjar Kamboja, Desa Darmasaba",
    noHpOrtu: "08123456822",
    posyanduId: "posyandu_kamboja_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_023",
    nama: "Made Giri Putra Santosa",
    nik: "5101014511240023",
    tanggalLahir: new Date("2024-11-04"), // 6 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 8.1,
    tinggiBadanCm: 67.5,
    namaOrtu: "Ni Made Suciati",
    alamat: "Banjar Melur, Desa Darmasaba",
    noHpOrtu: "08123456823",
    posyanduId: "posyandu_melur_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_024",
    nama: "Ni Wayan Arta Yanti",
    nik: "5101014511230024",
    tanggalLahir: new Date("2023-11-04"), // 18 bulan
    jenisKelamin: JenisKelaminBalita.P,
    beratBadanKg: 11.0,
    tinggiBadanCm: 82.0,
    namaOrtu: "I Wayan Suarsa",
    alamat: "Banjar Kenanga, Desa Darmasaba",
    noHpOrtu: "08123456824",
    posyanduId: "posyandu_kenanga_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
  {
    id: "balita_025",
    nama: "Kadek Dika Permana",
    nik: "5101014511220025",
    tanggalLahir: new Date("2022-11-04"), // 30 bulan
    jenisKelamin: JenisKelaminBalita.L,
    beratBadanKg: 14.0,
    tinggiBadanCm: 93.0,
    namaOrtu: "Ni Kadek Suriati",
    alamat: "Banjar Dahlia, Desa Darmasaba",
    noHpOrtu: "08123456825",
    posyanduId: "posyandu_dahlia_001",
    imunisasiLengkap: true,
    giziBaik: true,
    pemeriksaanRutin: true,
    statusStunting: StatusStunting.NORMAL,
  },
];

export async function seedBalita() {
  console.log("🔄 Seeding Balita...");

  for (const d of BALITA_DATA) {
    await prisma.balita.upsert({
      where: { id: d.id },
      update: {
        nama: d.nama,
        nik: d.nik,
        tanggalLahir: d.tanggalLahir,
        jenisKelamin: d.jenisKelamin,
        beratBadanKg: d.beratBadanKg,
        tinggiBadanCm: d.tinggiBadanCm,
        namaOrtu: d.namaOrtu,
        alamat: d.alamat,
        noHpOrtu: d.noHpOrtu,
        posyanduId: d.posyanduId,
        imunisasiLengkap: d.imunisasiLengkap,
        giziBaik: d.giziBaik,
        pemeriksaanRutin: d.pemeriksaanRutin,
        statusStunting: d.statusStunting,
        catatan: d.catatan ?? null,
      },
      create: {
        id: d.id,
        nama: d.nama,
        nik: d.nik,
        tanggalLahir: d.tanggalLahir,
        jenisKelamin: d.jenisKelamin,
        beratBadanKg: d.beratBadanKg,
        tinggiBadanCm: d.tinggiBadanCm,
        namaOrtu: d.namaOrtu,
        alamat: d.alamat,
        noHpOrtu: d.noHpOrtu,
        posyanduId: d.posyanduId,
        imunisasiLengkap: d.imunisasiLengkap,
        giziBaik: d.giziBaik,
        pemeriksaanRutin: d.pemeriksaanRutin,
        statusStunting: d.statusStunting,
        catatan: d.catatan ?? null,
      },
    });
    console.log(`✅ Balita seeded: ${d.nama} (${d.statusStunting})`);
  }

  console.log("🎉 Balita seed selesai");
}
