public void FormDaftarNotaJual_Load(object sender, EventArgs e)
        {
            comboBoxCari.Items.AddRange(new string[] { "No Nota", "ID Pelanggan", "Nama Pelanggan", "Alamat Pelanggan", "Diskon", "Total Harga", "Batas Pelunasan",
                                                       "Batas Diskon", "Tanggal Penjualan", "Status", "Keterangan" });
            this.Location = new Point(0, 0);
            comboBoxCari.DropDownStyle = ComboBoxStyle.DropDownList;

            FormatDataGrid();

            string hasilBaca = NotaPenjualan.BacaData("", "", listHasilData);

            if (hasilBaca == "1")
            {
                dataGridViewNota.Rows.Clear();

                for (int i = 0; i < listHasilData.Count; i++)
                {
                    string total = listHasilData[i].TotalHarga.ToString("RP 0,###");
                    dataGridViewNota.Rows.Add(listHasilData[i].NoNotaPenjualan, listHasilData[i].Pelanggan.IdPelanggan,
                                              listHasilData[i].Pelanggan.Nama, listHasilData[i].Pelanggan.Alamat, listHasilData[i].Diskon,
                                              total, listHasilData[i].TglBatasPelunasan.ToString("dddd, dd MMMM yyyy"),
                                              listHasilData[i].TglBatasDiskon.ToString("dddd, dd MMMM yyyy"),
                                              listHasilData[i].TglJual.ToString("dddd, dd MMMM yyyy"), listHasilData[i].Status, listHasilData[i].Keterangan);
                }
            }
        }
        private void InisialisasiDataDummy()
        {
            _listOfNotaJual = new List <NotaPenjualan>();

            var itemNota1 = new NotaPenjualan
            {
                nama_customer = "Adhi Jaya", alamat = "Jl. Wonosari Km. 11", kecamatan = "Piyungan", kelurahan = "Sitimulyo", kota = "Bantul", kode_pos = "55792", telepon = "0813 8176 9915",
                nota          = "201703210056", tanggal = DateTime.Today, ongkos_kirim = 25000, total_nota = 1542000, is_sdac = true,
                kode_produk   = "201704070001", nama_produk = "Flashdisk 2 Gb DEAM", harga = 50000, jumlah = 5
            };

            var itemNota2 = new NotaPenjualan
            {
                nama_customer = "Adhi Jaya", alamat = "Jl. Wonosari Km. 11", kecamatan = "Piyungan", kelurahan = "Sitimulyo", kota = "Bantul", kode_pos = "55792", telepon = "0813 8176 9915",
                nota          = "201703210056", tanggal = DateTime.Today, ongkos_kirim = 25000, total_nota = 1542000, is_sdac = true,
                kode_produk   = "201704070002", nama_produk = "HDD 160 Gb SATA Seagate", harga = 500000, jumlah = 1
            };

            var itemNota3 = new NotaPenjualan
            {
                nama_customer = "Adhi Jaya", alamat = "Jl. Wonosari Km. 11", kecamatan = "Piyungan", kelurahan = "Sitimulyo", kota = "Bantul", kode_pos = "55792", telepon = "0813 8176 9915",
                nota          = "201703210056", tanggal = DateTime.Today, ongkos_kirim = 25000, total_nota = 1542000, is_sdac = true,
                kode_produk   = "201704070003", nama_produk = "LCD 16 in Samsung 633NW", harga = 800000, jumlah = 1, diskon = 1
            };

            _listOfNotaJual.Add(itemNota1);
            _listOfNotaJual.Add(itemNota2);
            _listOfNotaJual.Add(itemNota3);
        }
        private void FormTambahNotaJual_Load(object sender, EventArgs e)
        {
            comboBoxStatus.Items.AddRange(new string[] { "L", "P" });
            this.Location = new Point(500, 26);
            FormatDataGrid();
            pPeriode = Periode.GetPeriodeTerbaru();
            textBoxKode.MaxLength = 5;
            textBoxNo.Enabled     = false;

            textBoxAlamat.Enabled = false;

            comboBoxPelanggan.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBoxStatus.DropDownStyle    = ComboBoxStyle.DropDownList;

            string noNotaBaru;
            string hasilGenerate = NotaPenjualan.GenerateNoNota(out noNotaBaru);

            textBoxNo.Clear();
            if (hasilGenerate == "1")
            {
                textBoxNo.Text = noNotaBaru;
                textBoxKode.Focus();
            }
            else
            {
                MessageBox.Show("Gagal melakukan generate code. Pesan kesalahan: " + hasilGenerate);
            }

            dateTimePickerTanggalJual.Value   = DateTime.Now;
            dateTimePickerTanggalJual.Enabled = false;

            string hasilBaca = Pelanggan.BacaData("", "", listHasilData);

            if (hasilBaca == "1")
            {
                comboBoxPelanggan.Items.Clear();
                for (int i = 0; i < listHasilData.Count; i++)
                {
                    comboBoxPelanggan.Items.Add(listHasilData[i].IdPelanggan + " - " + listHasilData[i].Nama);
                }
            }
            else
            {
                comboBoxPelanggan.Items.Clear();
            }

            if (comboBoxPelanggan.Items.Count != 0)
            {
                comboBoxPelanggan.SelectedIndex = 0;
            }
            if (comboBoxStatus.Items.Count != 0)
            {
                comboBoxStatus.SelectedIndex = 0;
            }

            FormUtama form = (FormUtama)this.Owner.MdiParent;

            labelKodePgw.Text = form.labelKodePgw.Text;
            labelNamaPgw.Text = form.labelNamaPgw.Text;
        }
        private void comboBoxNoNotaJual_SelectedIndexChanged(object sender, EventArgs e)
        {
            listHasilData.Clear();
            string hasilBaca = NotaPenjualan.BacaDataPelunasan("noNotaPenjualan", comboBoxNoNotaJual.Text, listHasilData2);

            if (hasilBaca == "1")
            {
                textBoxNominal.Clear();
                if (listHasilData2.Count > 0)
                {
                    textBoxNominal.Text = listHasilData2[0].TotalHarga.ToString();
                    btsDiskon           = listHasilData2[0].TglBatasDiskon; //
                    diskon = listHasilData2[0].Diskon;                      //untuk mendapatkan diskon
                    if (diskon > 0)                                         // apabila terdapat diskon, maka tampilkan info diskon dan batas diskon
                    {
                        MessageBox.Show("Pembeli mendapatkan diskon " + diskon + "%, apabila membayar sebelum atau tanggal : " +
                                        btsDiskon.ToString("dddd, dd MMMM yyyy"), "Info Diskon");
                    }
                    else //apabila ada diskon
                    {
                        MessageBox.Show("Tidak ada diskon untuk pembeli", "Info Diskon");
                    }
                }
            }
            else
            {
                textBoxNominal.Clear();
            }
        }
        private void buttoncetak_Click(object sender, EventArgs e)
        {
            string hasilCetak = NotaPenjualan.CetakNota(kriteria, textBoxCari.Text, "daftar_nota_Jual.txt");

            if (hasilCetak == "1")
            {
                MessageBox.Show("Nota telah tercetak");
            }
            else
            {
                MessageBox.Show("Nota beli gagal dicetak. Pesan kesalahan : " + hasilCetak);
            }
        }
Exemple #6
0
        private void buttonSimpan_Click(object sender, EventArgs e)
        {
            FormUtama            frmUtama = (FormUtama)this.Owner.MdiParent;
            FormDaftarPengiriman form     = (FormDaftarPengiriman)this.Owner;

            Ekspedisi eks = new Ekspedisi();

            eks.IdEkspedisi = comboBoxIdEks.Text;
            eks.Nama        = textBoxNamaEks.Text;

            NotaPenjualan nota = new NotaPenjualan();

            nota.NoNotaPenjualan = comboBoxNoNotaJual.Text;

            string kode  = textBoxKodePengiriman.Text;
            string jenis = "";

            if (comboBoxJenisPengiriman.Text == "Shipping Point")
            {
                jenis = "SP";
            }
            else
            {
                jenis = "DP";
            }
            int        biaya = int.Parse(textBoxBiaya.Text);
            string     nama  = textBoxNama.Text;
            DateTime   tgl   = dateTimePickerKirim.Value;
            string     ket   = textBoxKeterangan.Text;
            Pengiriman peng  = new Pengiriman(kode, jenis, nama, ket, tgl, biaya, nota, eks);

            string hasilTambah = Pengiriman.TambahData(peng);

            if (hasilTambah == "1")
            {
                MessageBox.Show("Berhasil Menambahkan Pengiriman");
                this.Close();
                form.FormDaftarPengiriman_Load(sender, e);
            }
            else
            {
                MessageBox.Show("pengiriman gagal tersimpan. Pesan kesalahan : " + hasilTambah, "Kesalahan");
            }
        }
        private void comboBoxCari_TextChanged(object sender, EventArgs e)
        {
            string hasilBaca = NotaPenjualan.BacaData("", "", listHasilData);

            textBoxCari.Clear();
            if (hasilBaca == "1")
            {
                dataGridViewNota.Rows.Clear();

                for (int i = 0; i < listHasilData.Count; i++)
                {
                    string total = listHasilData[i].TotalHarga.ToString("RP 0,###");
                    dataGridViewNota.Rows.Add(listHasilData[i].NoNotaPenjualan, listHasilData[i].Pelanggan.IdPelanggan,
                                              listHasilData[i].Pelanggan.Nama, listHasilData[i].Pelanggan.Alamat, listHasilData[i].Diskon,
                                              total, listHasilData[i].TglBatasPelunasan.ToString("dddd, dd MMMM yyyy"),
                                              listHasilData[i].TglBatasDiskon.ToString("dddd, dd MMMM yyyy"),
                                              listHasilData[i].TglJual.ToString("dddd, dd MMMM yyyy"), listHasilData[i].Status, listHasilData[i].Keterangan);
                }
            }
        }
        private void FormTambahPenerimaanPembayaran_Load(object sender, EventArgs e)
        {
            string noNotaBaru;

            pPeriode = Periode.GetPeriodeTerbaru();
            comboBoxNoNotaJual.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBoxCaraPemb.DropDownStyle   = ComboBoxStyle.DropDownList;
            string hasilGenerate = Pelunasan.GenerateNoNota(out noNotaBaru);

            textBoxNoPelunasan.Clear();
            if (hasilGenerate == "1")
            {
                textBoxNoPelunasan.Text = noNotaBaru;
            }
            else
            {
                MessageBox.Show("Gagal melakukan generate code. Pesan kesalahan: " + hasilGenerate);
            }

            dateTimePickerTgl.Value   = DateTime.Now;
            dateTimePickerTgl.Enabled = false;

            string hasilBaca = NotaPenjualan.BacaDataPelunasan("", "", listHasilData2);

            if (hasilBaca == "1")
            {
                comboBoxNoNotaJual.Items.Clear();
                for (int i = 0; i < listHasilData2.Count; i++)
                {
                    comboBoxNoNotaJual.Items.Add(listHasilData2[i].NoNotaPenjualan);
                }
            }
            else
            {
                comboBoxNoNotaJual.Items.Clear();
            }
            comboBoxCaraPemb.SelectedIndex = 0;
        }
        private void buttonCari_Click(object sender, EventArgs e)
        {
            string nilaiKriteria = textBoxCari.Text;

            if (comboBoxCari.Text == "No Nota")
            {
                kriteria = "NoNotaPenjualan";
            }
            else if (comboBoxCari.Text == "ID Pelanggan")
            {
                kriteria = "idPelanggan";
            }
            else if (comboBoxCari.Text == "Nama Pelanggan")
            {
                kriteria = "namapelanggan";
            }
            else if (comboBoxCari.Text == "Alamat Pelanggan")
            {
                kriteria = "alamatpelanggan";
            }
            else if (comboBoxCari.Text == "Diskon")
            {
                kriteria = "diskon";
            }
            else if (comboBoxCari.Text == "Total Harga")
            {
                kriteria = "totalHarga";
            }
            else if (comboBoxCari.Text == "Batas Pelunasan")
            {
                kriteria = "tglBatasPelunasan";
            }
            else if (comboBoxCari.Text == "Batas Diskon")
            {
                kriteria = "tglBatasDiskon";
            }
            else if (comboBoxCari.Text == "Tanggal Penjualan")
            {
                kriteria = "tglJual";
            }
            else if (comboBoxCari.Text == "Status")
            {
                kriteria = "status";
            }
            else if (comboBoxCari.Text == "Keterangan")
            {
                kriteria = "keterangan";
            }


            string hasilBaca = NotaPenjualan.BacaData(kriteria, nilaiKriteria, listHasilData);

            if (hasilBaca == "1")
            {
                dataGridViewNota.Rows.Clear();

                for (int i = 0; i < listHasilData.Count; i++)
                {
                    string total = listHasilData[i].TotalHarga.ToString("RP 0,###");
                    dataGridViewNota.Rows.Add(listHasilData[i].NoNotaPenjualan, listHasilData[i].Pelanggan.IdPelanggan,
                                              listHasilData[i].Pelanggan.Nama, listHasilData[i].Pelanggan.Alamat, listHasilData[i].Diskon,
                                              total, listHasilData[i].TglBatasPelunasan.ToString("dddd, dd MMMM yyyy"),
                                              listHasilData[i].TglBatasDiskon.ToString("dddd, dd MMMM yyyy"),
                                              listHasilData[i].TglJual.ToString("dddd, dd MMMM yyyy"), listHasilData[i].Status, listHasilData[i].Keterangan);
                }
            }
        }
        private void buttonSimpan_Click(object sender, EventArgs e)
        {
            FormUtama          frmUtama = (FormUtama)this.Owner.MdiParent;
            FormDaftarNotaJual form     = (FormDaftarNotaJual)this.Owner;
            //buat objek bertipe pelanggan
            Pelanggan pelanggan = new Pelanggan();

            //format combo box pelanggan: X -yyyyyy (kode pelanggan karakter 0 sebanyak 1, nama kategori mulai karakter  ke-4 s/d akhir
            pelanggan.IdPelanggan = int.Parse(comboBoxPelanggan.Text.Substring(0, 1));                      //kode pelanggan diambil dari  combobox
            pelanggan.Nama        = comboBoxPelanggan.Text.Substring(4, comboBoxPelanggan.Text.Length - 4); //nama pelanggan diambil dari combo box
            pelanggan.Alamat      = textBoxAlamat.Text;

            //buat object bertipe notajual
            string        no          = textBoxNo.Text;
            string        stat        = comboBoxStatus.Text;
            string        keter       = textBoxKeterangan.Text;
            double        disk        = double.Parse(textBoxDiskon.Text);
            int           total       = HitungGrandTotal();
            DateTime      btsLunas    = dateTimePickerTglLunas.Value;
            DateTime      btsDisk     = dateTimePickerDiskon.Value;
            DateTime      tanggalJual = dateTimePickerTanggalJual.Value;
            NotaPenjualan nota        = new NotaPenjualan(no, stat, keter, disk, total, btsLunas, btsLunas, tanggalJual, pelanggan);

            //data barang diperoleh dari data gridview
            for (int i = 0; i < dataGridViewNota.Rows.Count; i++)
            {
                //buat object bertipe barang
                Barang barang = new Barang();
                //tambahkan kode, nama, jenis, satuan
                //hati hati dalam menambahkan
                barang.KodeBarang = dataGridViewNota.Rows[i].Cells["KodeBarang"].Value.ToString();
                barang.Nama       = dataGridViewNota.Rows[i].Cells["NamaBarang"].Value.ToString();
                barang.Jenis      = dataGridViewNota.Rows[i].Cells["jenis"].Value.ToString();
                barang.Satuan     = dataGridViewNota.Rows[i].Cells["satuan"].Value.ToString();
                //simpan  data hargajual dan jumlah
                int harga  = int.Parse(dataGridViewNota.Rows[i].Cells["HargaJual"].Value.ToString());
                int jumlah = int.Parse(dataGridViewNota.Rows[i].Cells["Jumlah"].Value.ToString());
                //buat object dan tambahkan
                DetilNotaJual notaDetil = new DetilNotaJual(barang, jumlah, harga);
                //simpan detil barang ke nota
                nota.TambahDetilBarang(barang, jumlah, harga);
            }

            string hasilTambahNota = NotaPenjualan.TambahData(nota);

            if (hasilTambahNota == "1") //jika berhasil maka insert jurnal dan detil jurnal
            {
                MessageBox.Show("Data nota jual telah tersimpan", "Info");


                //tambah posting ke jurnal
                string idtrans  = "";
                string ket      = "";
                string idJurnal = Jurnal.GenerateIdJurnal();
                if (comboBoxStatus.Text == "L")
                {
                    idtrans = "008";
                    ket     = "Menjual barang dagangan secara tunai";
                }
                else
                {
                    idtrans = "011";
                    ket     = "Menjual barang dagangan secara kredit";
                }
                Transaksi trans = new Transaksi();
                //transaksi penjualan tunai (id transkasi 008);
                trans.IdTransaksi = idtrans;
                trans.Keterangan  = ket;

                //buat object bertipe jurnal
                Jurnal jurnal = new Jurnal();
                //tambahkan data
                jurnal.IdJurnal = int.Parse(idJurnal);
                jurnal.Tanggal  = dateTimePickerTanggalJual.Value;

                jurnal.NomorBukti = textBoxNo.Text;
                jurnal.Jenis      = "JU";
                jurnal.Periode    = pPeriode;
                jurnal.Transaksi  = trans;

                //isi detil jurnalnya
                int totalharga = HitungGrandTotal(); // panggil method hitung total harga untuk mendapatkan totalharga
                if (comboBoxStatus.Text == "L")
                {
                    jurnal.TambahDetilJurnalPenjualanBarangTunai(totalharga, totalHpp);
                }
                else
                {
                    jurnal.TambahDetilJurnalPenjualanBarangKredit(totalharga, totalHpp);
                }
                //simpan ke tabel _jurnal
                string hasilTambahJurnal = Jurnal.TambahData(jurnal);
                if (hasilTambahJurnal == "1")
                {
                    MessageBox.Show("berhasil posting ke jurnal");
                    DialogResult pesan = MessageBox.Show("Apakah anda ingin mencetak nota ? ", "konformasi", MessageBoxButtons.YesNo);
                    if (pesan == DialogResult.Yes)
                    {
                        string hasilCetak = NotaPenjualan.CetakNota("noNotaPenjualan", textBoxNo.Text, "tambah_nota_penjualan.txt");
                        if (hasilCetak == "1")
                        {
                            MessageBox.Show("Nota telah tercetak");
                            this.Close();
                            form.FormDaftarNotaJual_Load(sender, e);
                        }
                        else
                        {
                            MessageBox.Show("Nota beli gagal dicetak. Pesan kesalahan : " + hasilCetak);
                        }
                    }
                    else
                    {
                        this.Close();
                        form.FormDaftarNotaJual_Load(sender, e);
                    }
                }
                else
                {
                    MessageBox.Show("gagal posting ke jurnal" + hasilTambahJurnal);
                }
            }
            else
            {
                MessageBox.Show("Data nota jual gagal tersimpan. Pesan kesalahan : " + hasilTambahNota, "Kesalahan");
            }
        }
        private void InisialisasiDataDummy()
        {
            _listOfNotaJual = new List <NotaPenjualan>();

            var itemNota1 = new NotaPenjualan
            {
                nama_customer = "Adhi Jaya",
                alamat        = "Jl. Wonosari Km. 11",
                provinsi      = "DI Yogayakrta",
                kabupaten     = "Kab. Bantul",
                kecamatan     = "Piyungan",
                kode_pos      = "55792",
                telepon       = "0813 8176 9915",
                nota          = "201703210056",
                tanggal       = DateTime.Today,
                kurir         = "Tiki reguler",
                ongkos_kirim  = 25000,
                total_nota    = 1542000,
                is_sdac       = true,
                label_dari1   = "PIXEL KOMPUTER",
                label_dari2   = "HP: 0813 81769915",
                label_kepada1 = "Bpk. Sunardi",
                label_kepada2 = "Jl. Ring Road Utara",
                label_kepada3 = "Condong Catur - Sleman - Yogyakarta - 55283",
                label_kepada4 = "HP: 0813 2828282",
                kode_produk   = "201704070001",
                nama_produk   = "Flashdisk 2 Gb DEAM",
                harga         = 50000,
                jumlah        = 5
            };

            var itemNota2 = new NotaPenjualan
            {
                nama_customer = "Adhi Jaya",
                alamat        = "Jl. Wonosari Km. 11",
                provinsi      = "DI Yogayakrta",
                kabupaten     = "Kab. Bantul",
                kecamatan     = "Piyungan",
                kode_pos      = "55792",
                telepon       = "0813 8176 9915",
                nota          = "201703210056",
                tanggal       = DateTime.Today,
                kurir         = "Tiki reguler",
                ongkos_kirim  = 25000,
                total_nota    = 1542000,
                is_sdac       = true,
                label_dari1   = "PIXEL KOMPUTER",
                label_dari2   = "HP: 0813 81769915",
                label_kepada1 = "Bpk. Sunardi",
                label_kepada2 = "Jl. Ring Road Utara",
                label_kepada3 = "Condong Catur - Sleman - Yogyakarta - 55283",
                label_kepada4 = "HP: 0813 2828282",
                kode_produk   = "201704070002", nama_produk = "HDD 160 Gb SATA Seagate", harga = 500000, jumlah = 1
            };

            var itemNota3 = new NotaPenjualan
            {
                nama_customer = "Adhi Jaya",
                alamat        = "Jl. Wonosari Km. 11",
                provinsi      = "DI Yogayakrta",
                kabupaten     = "Kab. Bantul",
                kecamatan     = "Piyungan",
                kode_pos      = "55792",
                telepon       = "0813 8176 9915",
                nota          = "201703210056",
                tanggal       = DateTime.Today,
                kurir         = "Tiki reguler",
                ongkos_kirim  = 25000,
                total_nota    = 1542000,
                is_sdac       = true,
                label_dari1   = "PIXEL KOMPUTER",
                label_dari2   = "HP: 0813 81769915",
                label_kepada1 = "Bpk. Sunardi",
                label_kepada2 = "Jl. Ring Road Utara",
                label_kepada3 = "Condong Catur - Sleman - Yogyakarta - 55283",
                label_kepada4 = "HP: 0813 2828282",
                kode_produk   = "201704070003", nama_produk = "LCD 16 in Samsung 633NW", harga = 800000, jumlah = 1, diskon = 1
            };

            _listOfNotaJual.Add(itemNota1);
            _listOfNotaJual.Add(itemNota2);
            _listOfNotaJual.Add(itemNota3);
        }
        private void buttonSimpan_Click(object sender, EventArgs e)
        {
            FormDaftarPelunasan form = (FormDaftarPelunasan)this.Owner;
            int      piutang         = int.Parse(textBoxNominal.Text);
            DateTime tglPemb         = dateTimePickerTgl.Value;

            // pngecekan apabila tanggal pembayaran sebelum tanggal batas diskon
            if (tglPemb <= btsDiskon) // apabila sebelum batas diskon
            {
                diskon = diskon / 100;
            }
            else // apabila melewati tanggal batas diskon
            {
                diskon = 0;
            }
            int hargaDiskon = (int)(piutang * diskon); // hitung total yang harus dibayar oleh pembeli

            NotaPenjualan nota = new NotaPenjualan();

            nota.NoNotaPenjualan = comboBoxNoNotaJual.Text;
            nota.Status          = "L";
            //buat object bertipe notajual
            Pelunasan lunas = new Pelunasan();

            lunas.NoPelunasan    = textBoxNoPelunasan.Text;
            lunas.NotaPenjualan  = nota;
            lunas.Tanggal        = dateTimePickerTgl.Value;
            lunas.CaraPembayaran = comboBoxCaraPemb.Text;
            lunas.Nominal        = piutang - hargaDiskon;

            string hasilTambahNota = Pelunasan.TambahData(lunas, nota);

            if (hasilTambahNota == "1") //jika berhasil maka insert jurnal dan detil jurnal
            {
                MessageBox.Show("Data Pelunasan telah tersimpan", "Info");
                //tambah posting ke jurnal

                string idJurnal = Jurnal.GenerateIdJurnal();

                Transaksi trans = new Transaksi();
                //transaksi penjualan tunai (id transkasi 008);
                trans.IdTransaksi = "010";
                trans.Keterangan  = "Pelunasan piutang dari cv abadi";

                //buat object bertipe jurnal
                Jurnal jurnal = new Jurnal();
                //tambahkan data
                jurnal.IdJurnal = int.Parse(idJurnal);
                jurnal.Tanggal  = dateTimePickerTgl.Value;

                jurnal.NomorBukti = comboBoxNoNotaJual.Text;
                jurnal.Jenis      = "JU";
                jurnal.Periode    = pPeriode;
                jurnal.Transaksi  = trans;

                //isi detil jurnalnya
                //apabila ada diskon
                //
                //apabila tidak ada diskon
                jurnal.TambahDetilJurnalPelunasanPiutangTunai(piutang);

                //simpan ke tabel _jurnal
                string hasilTambahJurnal = Jurnal.TambahData(jurnal);
                if (hasilTambahJurnal == "1")
                {
                    MessageBox.Show("berhasil posting ke jurnal");
                    FormUtama frmUtama = (FormUtama)this.Owner.MdiParent;
                    form.FormDaftarPelunasan_Load(sender, e);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("gagal posting ke jurnal" + hasilTambahJurnal);
                }
            }
            else
            {
                MessageBox.Show("Data pelunasan gagal tersimpan. Pesan kesalahan : " + hasilTambahNota, "Kesalahan");
            }
        }
Exemple #13
0
        private void FormTambahPengiriman_Load(object sender, EventArgs e)
        {
            comboBoxJenisPengiriman.Items.AddRange(new string[] { "Shipping Point", "Destination Point" });
            string noNotaBaru;

            textBoxNamaEks.Enabled                = false;
            textBoxKodePengiriman.Enabled         = false;
            dateTimePickerKirim.Enabled           = false;
            dateTimePickerKirim.Value             = DateTime.Now;
            comboBoxNoNotaJual.DropDownStyle      = ComboBoxStyle.DropDownList;
            comboBoxIdEks.DropDownStyle           = ComboBoxStyle.DropDownList;
            comboBoxJenisPengiriman.DropDownStyle = ComboBoxStyle.DropDownList;

            string hasilGenerate = Pengiriman.GenerateNoNota(out noNotaBaru);

            textBoxKodePengiriman.Clear();
            if (hasilGenerate == "1")
            {
                textBoxKodePengiriman.Text = noNotaBaru;
            }
            else
            {
                MessageBox.Show("Gagal melakukan generate code. Pesan kesalahan: " + hasilGenerate);
            }

            string hasilBaca = NotaPenjualan.BacaData("", "", listHasilNota);

            if (hasilBaca == "1")
            {
                comboBoxNoNotaJual.Items.Clear();
                for (int i = 0; i < listHasilNota.Count; i++)
                {
                    comboBoxNoNotaJual.Items.Add(listHasilNota[i].NoNotaPenjualan);
                }
            }
            else
            {
                comboBoxNoNotaJual.Items.Clear();
            }
            string hasilBaca2 = Ekspedisi.BacaData("", "", listHasilEkspedisi);

            if (hasilBaca2 == "1")
            {
                comboBoxIdEks.Items.Clear();
                for (int i = 0; i < listHasilEkspedisi.Count; i++)
                {
                    comboBoxIdEks.Items.Add(listHasilEkspedisi[i].IdEkspedisi);
                    textBoxNamaEks.Text = listHasilEkspedisi[i].Nama;
                }
            }
            else
            {
                comboBoxIdEks.Items.Clear();
            }

            if (comboBoxNoNotaJual.Items.Count != 0)
            {
                comboBoxNoNotaJual.SelectedIndex = 0;
            }
            if (comboBoxIdEks.Items.Count != 0)
            {
                comboBoxIdEks.SelectedIndex = 0;
            }
            if (comboBoxJenisPengiriman.Items.Count != 0)
            {
                comboBoxJenisPengiriman.SelectedIndex = 0;
            }

            FormUtama form = (FormUtama)this.Owner.MdiParent;

            labelKodePgw.Text = form.labelKodePgw.Text;
            labelNamaPgw.Text = form.labelNamaPgw.Text;
        }
        private void buttonSimpan_Click(object sender, EventArgs e)
        {
            FormUtama          frmUtama = (FormUtama)this.Owner.MdiParent;
            FormDaftarJobOrder form     = (FormDaftarJobOrder)this.Owner;

            //buat object bertipe notapenjualan
            NotaPenjualan nota = new NotaPenjualan();

            nota.NoNotaPenjualan = comboBoxNoNotaJual.Text;

            //buat objek bertipe barang
            Barang br = new Barang();

            br.KodeBarang = comboBoxItem.Text.Substring(0, 5);
            // ammil dari combo box item, karena nama berada di index ke 8, dengan panjang karakter sesuai text dikurangi 8
            br.Nama = comboBoxItem.Text.Substring(8, comboBoxItem.Text.Length - 8);

            //buat object bertipe job order
            string   kode     = textBoxKodeJobOrder.Text;
            int      quant    = int.Parse(textBoxQuantity.Text);
            int      material = 0;
            int      labor    = HitungGrandTotal();
            int      overhead = 0;
            DateTime pMulai   = dateTimePickerMulai.Value;
            DateTime pSelesai = dateTimePickerSelesai.Value;
            string   pStatus  = "P";
            JobOrder job      = new JobOrder(kode, quant, labor, material, overhead, pMulai, pSelesai, pStatus, br, nota);

            //data barang diperoleh dari data gridview
            for (int i = 0; i < dataGridViewJobOrder.Rows.Count; i++)
            {
                //buat object bertipe karyawan
                Karyawan k = new Karyawan();
                //tambahkan informasi karyawan
                //hati hati dalam menambahkan
                k.IdKaryawan = dataGridViewJobOrder.Rows[i].Cells["idKaryawan"].Value.ToString();
                k.Nama       = dataGridViewJobOrder.Rows[i].Cells["nama"].Value.ToString();
                k.Gender     = dataGridViewJobOrder.Rows[i].Cells["gender"].Value.ToString();
                k.NoTelepon  = dataGridViewJobOrder.Rows[i].Cells["noTelp"].Value.ToString();
                //simpan  data satuan dan gaji
                string pSat  = dataGridViewJobOrder.Rows[i].Cells["satuan"].Value.ToString();
                int    pGaji = int.Parse(dataGridViewJobOrder.Rows[i].Cells["gaji"].Value.ToString());
                //buat object detiljoborder dan tambahkan
                DetilJobOrder detilJob = new DetilJobOrder(k, pSat, pGaji);
                //simpan detil job
                job.TambahDetilJobOrder(k, pSat, pGaji);
            }

            //inser ke database joborder
            string hasilTambahJob = JobOrder.TambahData(job);

            if (hasilTambahJob == "1") //jika berhasil maka insert jurnal dan detil jurnal
            {
                MessageBox.Show("Job Order telah dibuat", "Info");

                //tambah posting ke jurnal
                //karena pembuatan job order tidak perlu ditambahkan ke jurnal
                //insert jurnal pembayaran karyawan
                // 2 kali insert ke jurnal  1, untuk membebankan ke wip, 2, untuk pembayaran tenaga kerja
                string idtrans  = "";
                string ket      = "";
                string idJurnal = Jurnal.GenerateIdJurnal();

                //1.membebankan ke wip
                idtrans = "005";
                ket     = "Menghitung dan membebankan biaya tenaga kerja langsung terhadap Job Order no 123";

                Transaksi trans = new Transaksi();
                //transaksi membebankan biaya tenaga ke Job Order (id transkasi 005);
                trans.IdTransaksi = idtrans;
                trans.Keterangan  = ket;

                //buat object bertipe jurnal
                Jurnal jurnal = new Jurnal();
                //tambahkan data
                jurnal.IdJurnal = int.Parse(idJurnal);
                jurnal.Tanggal  = dateTimePickerMulai.Value;

                jurnal.NomorBukti = comboBoxNoNotaJual.Text;
                jurnal.Jenis      = "JU";
                jurnal.Periode    = pPeriode;
                jurnal.Transaksi  = trans;

                //isi detil jurnalnya
                totalGaji = HitungGrandTotal(); // panggil method  untuk mendapatkan total gaji
                jurnal.TambahDetilJurnalMenghitungBiayaTK(totalGaji);

                //simpan ke tabel _jurnal
                string hasilTambahJurnal = Jurnal.TambahData(jurnal);
                if (hasilTambahJurnal == "1")
                {
                    idJurnal = Jurnal.GenerateIdJurnal();
                    idtrans  = "006";
                    ket      = "Membayar biaya tenaga kerja langsung secara tunai";

                    Transaksi trans2 = new Transaksi();
                    //transaksi membayar secara tunai(id transkasi 006);
                    trans2.IdTransaksi = idtrans;
                    trans2.Keterangan  = ket;

                    //buat object bertipe jurnal
                    Jurnal jurnal2 = new Jurnal();
                    //tambahkan data
                    jurnal2.IdJurnal = int.Parse(idJurnal);
                    jurnal2.Tanggal  = dateTimePickerMulai.Value;

                    jurnal2.NomorBukti = comboBoxNoNotaJual.Text;
                    jurnal2.Jenis      = "JU";
                    jurnal2.Periode    = pPeriode;
                    jurnal2.Transaksi  = trans2;

                    jurnal2.TambahDetilJurnalPembayaranTK(totalGaji);

                    hasilTambahJurnal = Jurnal.TambahData(jurnal2);
                    if (hasilTambahJurnal == "1")
                    {
                        MessageBox.Show("berhasil posting ke jurnal");
                        this.Close();
                        form.FormDaftarJobOrder_Load(sender, e); //supaya formdaftar job order menampilkan daftar terbaru
                    }
                    else
                    {
                        MessageBox.Show("gagal posting ke jurnal" + hasilTambahJurnal);
                    }
                }
                else
                {
                    MessageBox.Show("gagal posting ke jurnal" + hasilTambahJurnal);
                }
            }
            else
            {
                MessageBox.Show("Data nota jual gagal tersimpan. Pesan kesalahan : " + hasilTambahJob, "Kesalahan");
            }
        }
        private void FormTambahBarang_Load(object sender, EventArgs e)
        {
            comboBoxSatuan.Items.AddRange(new string[] { "Unit", "Jam" });
            this.Location = new Point(500, 26);
            FormatDataGrid();
            pPeriode = Periode.GetPeriodeTerbaru();
            textBoxIdKaryawan.MaxLength = 1;
            textBoxKodeJobOrder.Enabled = false;

            comboBoxItem.DropDownStyle       = ComboBoxStyle.DropDownList;
            comboBoxNoNotaJual.DropDownStyle = ComboBoxStyle.DropDownList;

            string KodeJobBaru;
            string hasilGenerate = JobOrder.GenerateKodeJobOrder(out KodeJobBaru);

            textBoxKodeJobOrder.Clear();
            if (hasilGenerate == "1")
            {
                textBoxKodeJobOrder.Text = KodeJobBaru;
                comboBoxNoNotaJual.Focus();
            }
            else
            {
                MessageBox.Show("Gagal melakukan generate code. Pesan kesalahan: " + hasilGenerate);
            }
            dateTimePickerSelesai.Value = DateTime.Now;
            dateTimePickerMulai.Value   = DateTime.Now;
            dateTimePickerMulai.Enabled = false;
            textBoxSatuan.Enabled       = false;

            string hasilBaca = Barang.BacaData("jenis", "BJ", listHasilBarang); // untuk mendapatkan nama barang, kode  dan menampilkan di comboboxitems

            if (hasilBaca == "1")
            {
                comboBoxItem.Items.Clear();
                for (int i = 0; i < listHasilBarang.Count; i++)
                {
                    comboBoxItem.Items.Add(listHasilBarang[i].KodeBarang + " - " + listHasilBarang[i].Nama);
                }
            }
            else
            {
                comboBoxItem.Items.Clear();
            }

            string hasilBaca2 = NotaPenjualan.BacaData("", "", listHasilNotaPenjualan); // tampilkan ke combobox nonotapenjualan

            if (hasilBaca2 == "1")
            {
                comboBoxNoNotaJual.Items.Clear();
                for (int i = 0; i < listHasilNotaPenjualan.Count; i++)
                {
                    comboBoxNoNotaJual.Items.Add(listHasilNotaPenjualan[i].NoNotaPenjualan);
                }
            }
            else
            {
                comboBoxNoNotaJual.Items.Clear();
            }

            if (comboBoxNoNotaJual.Items.Count != 0)
            {
                comboBoxNoNotaJual.SelectedIndex = 0;
            }
            comboBoxItem.SelectedIndex = 0;
            FormUtama form = (FormUtama)this.Owner.MdiParent;

            labelKodePgw.Text = form.labelKodePgw.Text;
            labelNamaPgw.Text = form.labelNamaPgw.Text;
        }