private void listViewTahun_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { tahunSelected = Int32.Parse(e.Item.Text); AppForm.listRekapitulasi = SqliteDataAccess.getAllRekapitulasiDataOfRuanganTahun(namaRuangan, tahunSelected); AppForm.listIndikator = SqliteDataAccess.getAllIndikatorDataOfRuanganTahun(namaRuangan, tahunSelected); listViewTahun.Visible = false; panel4.Visible = false; initDataRekapitulasiByTahun(); }
static void initInputDataTable(int date, string ruangan) { AppForm.listRekapitulasi = SqliteDataAccess.getAllRekapitulasiDataOfRuanganTahun(ruangan, date); AppForm.listIndikator = SqliteDataAccess.getAllIndikatorDataOfRuanganTahun(ruangan, date); dtRekap = new DataTable(); dtRekap.Columns.Add("no", typeof(int)); dtRekap.Columns.Add("data", typeof(string)); dtRekap.Columns.Add("januari", typeof(int)); dtRekap.Columns.Add("februari", typeof(int)); dtRekap.Columns.Add("maret", typeof(int)); dtRekap.Columns.Add("april", typeof(int)); dtRekap.Columns.Add("mei", typeof(int)); dtRekap.Columns.Add("juni", typeof(int)); dtRekap.Columns.Add("juli", typeof(int)); dtRekap.Columns.Add("agustus", typeof(int)); dtRekap.Columns.Add("september", typeof(int)); dtRekap.Columns.Add("oktober", typeof(int)); dtRekap.Columns.Add("november", typeof(int)); dtRekap.Columns.Add("desember", typeof(int)); dtRekap.Columns.Add("total", typeof(int)); int count = 0; if (AppForm.listRekapitulasi.Count > 0) { foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { count++; dtRekap.Rows.Add(count, rekap.Data, rekap.Januari, rekap.Februari, rekap.Maret, rekap.April, rekap.Mei, rekap.Juni, rekap.Juli, rekap.Agustus, rekap.September, rekap.Oktober, rekap.November, rekap.Desember, rekap.Total); } } dtIndi = new DataTable(); dtIndi.Columns.Add("no", typeof(int)); dtIndi.Columns.Add("indikator", typeof(string)); dtIndi.Columns.Add("januari", typeof(float)); dtIndi.Columns.Add("februari", typeof(float)); dtIndi.Columns.Add("maret", typeof(float)); dtIndi.Columns.Add("april", typeof(float)); dtIndi.Columns.Add("mei", typeof(float)); dtIndi.Columns.Add("juni", typeof(float)); dtIndi.Columns.Add("juli", typeof(float)); dtIndi.Columns.Add("agustus", typeof(float)); dtIndi.Columns.Add("september", typeof(float)); dtIndi.Columns.Add("oktober", typeof(float)); dtIndi.Columns.Add("november", typeof(float)); dtIndi.Columns.Add("desember", typeof(float)); dtIndi.Columns.Add("total", typeof(float)); if (AppForm.listIndikator.Count > 0) { foreach (Indikator ind in AppForm.listIndikator) { dtIndi.Rows.Add(ind.Id, ind.Data, ind.Januari, ind.Februari, ind.Maret, ind.April, ind.Mei, ind.Juni, ind.Juli, ind.Agustus, ind.September, ind.Oktober, ind.November, ind.Desember, ind.Total); } } }
private void updateDataRekapitulasi() { for (int i = 0; i < dataGridView1.RowCount - 1; i++) { DataGridViewRow row = dataGridView1.Rows[i]; Rekapitulasi updateRekap = new Rekapitulasi(); updateRekap.Data = (string)row.Cells[1].Value; updateRekap.Januari = (int)row.Cells[2].Value; updateRekap.Februari = (int)row.Cells[3].Value; updateRekap.Maret = (int)row.Cells[4].Value; updateRekap.April = (int)row.Cells[5].Value; updateRekap.Mei = (int)row.Cells[6].Value; updateRekap.Juni = (int)row.Cells[7].Value; updateRekap.Juli = (int)row.Cells[8].Value; updateRekap.Agustus = (int)row.Cells[9].Value; updateRekap.September = (int)row.Cells[10].Value; updateRekap.Oktober = (int)row.Cells[11].Value; updateRekap.November = (int)row.Cells[12].Value; updateRekap.Desember = (int)row.Cells[13].Value; for (int j = 2; j < 14; j++) { updateRekap.Total += (int)row.Cells[j].Value; } updateRekap.updatedAt = DateTime.Now.ToString("HH:mm | dd-MM-yyyy"); SqliteDataAccess.updateData((int)row.Cells[0].Value, tahunSelected, updateRekap, namaRuangan); } AppForm.listRekapitulasi = SqliteDataAccess.getAllRekapitulasiDataOfRuanganTahun(namaRuangan, tahunSelected); lblUpdate.Text = "Diperbarui: " + AppForm.listRekapitulasi[0].updatedAt; if (SqliteDataAccess.getAllIndikatorDataOfRuanganTahun(namaRuangan, tahunSelected).Count == 0) { addNewIndikator(tahunSelected, namaRuangan); } indikatorUC.CalculateIndikator(tahunSelected, namaRuangan); foreach (Indikator indikator in AppForm.listIndikator) { SqliteDataAccess.updateIndikator(indikator.Id, tahunSelected, indikator, namaRuangan); } MessageBox.Show("Perbaruan data berahasil!", "Berhasil", MessageBoxButtons.OK); initDataRekapitulasiByTahun(); }
private void cbPeriode_SelectedIndexChanged(object sender, EventArgs e) { if (tahunSelected == null || tahunSelected <= 0) { return; } AppForm.listIndikator = SqliteDataAccess.getAllIndikatorDataOfRuanganTahun(namaRuangan, tahunSelected); AppForm.listRekapitulasi = SqliteDataAccess.getAllRekapitulasiDataOfRuanganTahun(namaRuangan, tahunSelected); int listALOS = AppForm.listIndikator.FindIndex(x => x.Data == "ALOS" && x.Tahun == tahunSelected); int listBOR = AppForm.listIndikator.FindIndex(x => x.Data == "BOR" && x.Tahun == tahunSelected); int listBTO = AppForm.listIndikator.FindIndex(x => x.Data == "BTO" && x.Tahun == tahunSelected); int listTOI = AppForm.listIndikator.FindIndex(x => x.Data == "TOI" && x.Tahun == tahunSelected); Indikator indikatorBOR = AppForm.listIndikator[listBOR]; /*BORY*/ Indikator indikatorALOS = AppForm.listIndikator[listALOS]; /*BORX*/ Indikator indikatorBTO = AppForm.listIndikator[listBTO]; Indikator indikatorTOI = AppForm.listIndikator[listTOI]; int hariPerawatan = 0; int pasienKeluar = 0; int jumlahPeriode = 0; int tempatTidur = 0; float ALOS = 0; float BOR = 0; float BTO = 0; float TOI = 0; clearChart(); if (tbBOR.Text != "" && tbTOI.Text != "" && tbALOS.Text != "" && tbBTO.Text != "") { tbBOR.Text = ""; tbTOI.Text = ""; tbALOS.Text = ""; tbBTO.Text = ""; } int index = cbPeriode.SelectedIndex; switch (index) { case 0: ALOS = round(indikatorALOS.Januari); BOR = round(indikatorBOR.Januari); BTO = round(indikatorBTO.Januari); TOI = round(indikatorTOI.Januari); if (indikatorALOS.Januari == 0 || indikatorBOR.Januari == 0 || indikatorBTO.Januari == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari; } } createChart("Januari", ALOS, BOR, BTO, jumlahPeriode); break; case 1: ALOS = round(indikatorALOS.Februari); BOR = round(indikatorBOR.Februari); BTO = round(indikatorBTO.Februari); TOI = round(indikatorTOI.Februari); if (indikatorALOS.Februari == 0 || indikatorBOR.Februari == 0 || indikatorBTO.Februari == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Februari; } } createChart("Februari", ALOS, BOR, BTO, jumlahPeriode); break; case 2: ALOS = round(indikatorALOS.Maret); BOR = round(indikatorBOR.Maret); BTO = round(indikatorBTO.Maret); TOI = round(indikatorTOI.Maret); if (indikatorALOS.Maret == 0 || indikatorBOR.Maret == 0 || indikatorBTO.Maret == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Maret; } } createChart("Maret", ALOS, BOR, BTO, jumlahPeriode); break; case 3: ALOS = round(indikatorALOS.April); BOR = round(indikatorBOR.April); BTO = round(indikatorBTO.April); TOI = round(indikatorTOI.April); if (indikatorALOS.April == 0 || indikatorBOR.April == 0 || indikatorBTO.April == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.April; } } createChart("April", ALOS, BOR, BTO, jumlahPeriode); break; case 4: ALOS = round(indikatorALOS.Mei); BOR = round(indikatorBOR.Mei); BTO = round(indikatorBTO.Mei); TOI = round(indikatorTOI.Mei); if (indikatorALOS.Mei == 0 || indikatorBOR.Mei == 0 || indikatorBTO.Mei == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Mei; } } createChart("Mei", ALOS, BOR, BTO, jumlahPeriode); break; case 5: ALOS = round(indikatorALOS.Juni); BOR = round(indikatorBOR.Juni); BTO = round(indikatorBTO.Juni); TOI = round(indikatorTOI.Juni); if (indikatorALOS.Juni == 0 || indikatorBOR.Juni == 0 || indikatorBTO.Juni == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Juni; } } createChart("Juni", ALOS, BOR, BTO, jumlahPeriode); break; case 6: ALOS = round(indikatorALOS.Juli); BOR = round(indikatorBOR.Juli); BTO = round(indikatorBTO.Juli); TOI = round(indikatorTOI.Juli); if (indikatorALOS.Juli == 0 || indikatorBOR.Juli == 0 || indikatorBTO.Juli == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Juli", ALOS, BOR, BTO, jumlahPeriode); break; case 7: ALOS = round(indikatorALOS.Agustus); BOR = round(indikatorBOR.Agustus); BTO = round(indikatorBTO.Agustus); TOI = round(indikatorTOI.Agustus); if (indikatorALOS.Agustus == 0 || indikatorBOR.Agustus == 0 || indikatorBTO.Agustus == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Agustus; } } createChart("Agustus", ALOS, BOR, BTO, jumlahPeriode); break; case 8: ALOS = round(indikatorALOS.September); BOR = round(indikatorBOR.September); BTO = round(indikatorBTO.September); TOI = round(indikatorTOI.September); if (indikatorALOS.September == 0 || indikatorBOR.September == 0 || indikatorBTO.September == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.September; } } createChart("September", ALOS, BOR, BTO, jumlahPeriode); break; case 9: ALOS = round(indikatorALOS.Oktober); BOR = round(indikatorBOR.Oktober); BTO = round(indikatorBTO.Oktober); TOI = round(indikatorTOI.Oktober); if (indikatorALOS.Oktober == 0 || indikatorBOR.Oktober == 0 || indikatorBTO.Oktober == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Oktober; } } createChart("Oktober", ALOS, BOR, BTO, jumlahPeriode); break; case 10: ALOS = round(indikatorALOS.November); BOR = round(indikatorBOR.November); BTO = round(indikatorBTO.November); TOI = round(indikatorTOI.November); if (indikatorALOS.November == 0 || indikatorBOR.November == 0 || indikatorBTO.November == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.November; } } createChart("November", ALOS, BOR, BTO, jumlahPeriode); break; case 11: ALOS = round(indikatorALOS.Desember); BOR = round(indikatorBOR.Desember); BTO = round(indikatorBTO.Desember); TOI = round(indikatorTOI.Desember); if (indikatorALOS.Desember == 0 || indikatorBOR.Desember == 0 || indikatorBTO.Desember == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Desember; } } createChart("Desember", ALOS, BOR, BTO, jumlahPeriode); break; case 12: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Januari + rekap.Februari + rekap.Maret; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Januari + rekap.Februari + rekap.Maret; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari + rekap.Februari + rekap.Maret; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Maret; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 1 (JANUARI-FEBRUARI-MARET)", ALOS, BOR, BTO, jumlahPeriode); break; case 13: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Juni; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 2 (APRIL-MEI-JUNI)", ALOS, BOR, BTO, jumlahPeriode); break; case 14: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Juli + rekap.Agustus + rekap.September; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Juli + rekap.Agustus + rekap.September; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Juli + rekap.Agustus + rekap.September; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.September; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 3 (JULI-AGUSTUS-SEPTEMBER)", ALOS, BOR, BTO, jumlahPeriode); break; case 15: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Desember; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 4 (OKTOBER-NOVEMBER-DESEMBER)", ALOS, BOR, BTO, jumlahPeriode); break; case 16: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Juni; } } Console.WriteLine(hariPerawatan); Console.WriteLine(pasienKeluar); Console.WriteLine(jumlahPeriode); Console.WriteLine(tempatTidur); ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Semester 1", ALOS, BOR, BTO, jumlahPeriode); break; case 17: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Desember; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Semester 2", ALOS, BOR, BTO, jumlahPeriode); break; case 18: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni + rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni + rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni + rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Desember; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("1 Tahun", ALOS, BOR, BTO, jumlahPeriode); break; default: break; } }