Exemplo n.º 1
0
        private void btnCetak_Click(object sender, EventArgs e)
        {
            if (dgv.Rows.Count == 0)
            {
                H.msgError("Data tidak ada!");
                return;
            }
            string sql = "";

            try
            {
                string header1 = H.getOption("header1");
                string header2 = H.getOption("header2");
                string header3 = H.getOption("header3");

                string periode     = "Periode: " + txtAwal.Value.ToString("dd-MMM-yyyy") + " s/d " + txtAkhir.Value.ToString("dd-MMM-yyyy");
                string stroperator = "Operator: " + txtOperator.Text;
                string cetak       = "Cetak: " + DateTime.Now.ToShortDateString() + " Oleh: " + H.strOperator;

                H.CloseDr();
                DataSet ds = new DataSet();

                sql = "SELECT '" +
                      header1 + "' AS header1, '" +
                      header2 + "' AS header2, '" +
                      header3 + "' AS header3, '" +
                      stroperator + "' AS foperator, '" +
                      periode + "' AS periode, faktur, tanggal, grandtotal, laba, operator, '" +
                      cetak + "' AS cetak " +
                      "FROM tb_jual WHERE tanggal>='" + txtAwal.Value.ToString("yyyy-MM-dd") + "' AND tanggal<='" + txtAkhir.Value.ToString("yyyy-MM-dd") + "'";

                MySqlDataAdapter adapter = new MySqlDataAdapter(sql, H.getConnection());
                adapter.Fill(ds);

                ReportDocument rd = new ReportDocument();
                rd.Load("../../rptJual.rpt");
                rd.Database.Tables[0].SetDataSource(ds.Tables[0]);

                //pakai perintah ini untuk langsung print dan hapus 5 baris perintah di bawahnya
                //rd.PrintToPrinter;

                FrmCetak l = new FrmCetak();
                l.MdiParent   = this.MdiParent;
                l.WindowState = FormWindowState.Maximized;
                l.crystalReportViewer1.ReportSource = rd;
                l.Show();
            }
            catch (Exception ex)
            {
                H.msgError(ex.Message + sql);
            }
        }
Exemplo n.º 2
0
        void simpanData()
        {
            MySqlCommand cmd;
            string       faktur = fakturBaru();

            cmd = new MySqlCommand("INSERT INTO tb_jual (faktur, tanggal, jam, grandtotal, tunai, kembali, operator, laba) VALUES (@faktur, @tanggal, @jam, @grandtotal, @tunai, @kembali, @operator, @laba)", H.getConnection());
            cmd.Parameters.AddWithValue("faktur", faktur);
            cmd.Parameters.AddWithValue("tanggal", DateTime.Now);
            cmd.Parameters.AddWithValue("jam", DateTime.Now);
            cmd.Parameters.AddWithValue("grandtotal", hitungTotal());
            cmd.Parameters.AddWithValue("tunai", txtTunai.Text);
            cmd.Parameters.AddWithValue("kembali", txtKembali.Text);
            cmd.Parameters.AddWithValue("laba", hitungLaba());
            cmd.Parameters.AddWithValue("operator", H.strOperator);

            H.executeCMD(cmd);

            for (int a = 0; a < dgv.Rows.Count; a++)
            {
                cmd = new MySqlCommand("INSERT INTO tb_detailjual (faktur, tanggal, kode, nama, jumlah, satuan, hargajual, total, laba, operator) " +
                                       "VALUES (@faktur, @tanggal, @kode, @nama, @jumlah, @satuan, @hargajual, @total, @laba, @operator)", H.getConnection());
                DataGridViewRow r = dgv.Rows[a];
                cmd.Parameters.AddWithValue("faktur", faktur);
                cmd.Parameters.AddWithValue("tanggal", DateTime.Now);
                cmd.Parameters.AddWithValue("kode", r.Cells[0].Value);
                cmd.Parameters.AddWithValue("nama", r.Cells[1].Value);
                cmd.Parameters.AddWithValue("jumlah", r.Cells[2].Value);
                cmd.Parameters.AddWithValue("satuan", r.Cells[3].Value);
                cmd.Parameters.AddWithValue("hargajual", r.Cells[4].Value);
                cmd.Parameters.AddWithValue("total", r.Cells[5].Value);
                cmd.Parameters.AddWithValue("laba", r.Cells[6].Value);
                cmd.Parameters.AddWithValue("operator", H.strOperator);
                H.executeCMD(cmd);

                H.execute("UPDATE tb_barang SET jumlah=jumlah-" + H.toD(r.Cells[2].Value) + " WHERE kode='" + r.Cells[0].Value + "'");
            }

            cmd = new MySqlCommand("INSERT INTO tb_kas (faktur, tanggal, jenis, kategori, pemasukan, pengeluaran, keterangan, operator) VALUES (@faktur, @tanggal, @jenis, @kategori, @pemasukan, @pengeluaran, @keterangan, @operator)", H.getConnection());
            cmd.Parameters.AddWithValue("faktur", faktur);
            cmd.Parameters.AddWithValue("tanggal", DateTime.Now);
            cmd.Parameters.AddWithValue("jenis", "Pemasukan");
            cmd.Parameters.AddWithValue("kategori", "Penjualan");
            cmd.Parameters.AddWithValue("pemasukan", hitungTotal());
            cmd.Parameters.AddWithValue("pengeluaran", 0);
            cmd.Parameters.AddWithValue("keterangan", "Penjualan: " + faktur);
            cmd.Parameters.AddWithValue("operator", H.strOperator);
            H.executeCMD(cmd);

            if (H.msgAsk("Transaksi tersimpan! \nCetak Nota?") == DialogResult.Yes)
            {
                string sql = "";
                try
                {
                    string header = H.getOption("header1") + "\n" + H.getOption("header2") + "\n" + H.getOption("header3");

                    string footer = H.getOption("footer1") + "\n" + H.getOption("footer2") + "\n" + H.getOption("footer3");

                    H.CloseDr();
                    DataSet ds = new DataSet();

                    sql = "select '" + header + "' as header, '" + footer + "' as footer, a.faktur, a.*, b.* from tb_jual a INNER JOIN tb_detailjual b on a.faktur = b.faktur WHERE a.faktur='" + faktur + "'";

                    MySqlDataAdapter adapter = new MySqlDataAdapter(sql, H.getConnection());
                    adapter.Fill(ds);

                    ReportDocument rd = new ReportDocument();
                    rd.Load("../../rptNota.rpt");
                    rd.Database.Tables[0].SetDataSource(ds.Tables[0]);

                    //pakai perintah ini untuk langsung print dan hapus 5 baris perintah di bawahnya
                    //rd.PrintToPrinter;

                    FrmCetak l = new FrmCetak();
                    l.MdiParent   = this.MdiParent;
                    l.WindowState = FormWindowState.Maximized;
                    l.crystalReportViewer1.ReportSource = rd;
                    l.Show();
                }
                catch (Exception ex)
                {
                    H.msgError(ex.Message + sql);
                }
            }
            newTrans();
        }