コード例 #1
0
        public static string TambahData(Pelunasan pPelunasan, NotaPenjualan pNota)
        {
            //sql1 untuk menambahkan data ke tabel pelunasan
            string sql = "Insert into pelunasan(noPelunasan, tgl, caraPembayaran, nominal, noNotaPenjualan) values ('" +
                         pPelunasan.noPelunasan + "',  '" +
                         pPelunasan.Tanggal.ToString("yyyy-MM-dd hh:mm:ss") + "', '" +
                         pPelunasan.CaraPembayaran + "'," +
                         pPelunasan.Nominal + ", '" +
                         pPelunasan.NotaPenjualan.NoNotaPenjualan + "')";

            try
            {
                //jalankan perintah sql untuk menambahkan ke tabel
                Koneksi.JalankanPerintahDML(sql);

                //sql2 untuk mengubah status notapenjualan yang belum lunas atau P menjadi L
                string sql2 = "UPDATE notapenjualan SET  status ='" +
                              pNota.Status + "' WHERE  noNotaPenjualan = '" +
                              pNota.NoNotaPenjualan + "'";

                //jalankan sql2 untuk menambhkan ke detiljurnal
                Koneksi.JalankanPerintahDML(sql2);



                //jika semua perintah sql berhasil dijalankan
                return("1");
            }
            catch (MySqlException ex)
            {
                //jika ada kegagalan perintah
                return(ex.Message);
            }
        }
コード例 #2
0
 public Pelunasan(string noPelunasan, NotaPenjualan notaPenjualan, DateTime tanggal, string caraPembayaran, int nominal)
 {
     this.caraPembayaran = caraPembayaran;
     this.noPelunasan    = noPelunasan;
     this.notaPenjualan  = notaPenjualan;
     this.tanggal        = tanggal;
     this.nominal        = nominal;
 }
コード例 #3
0
 public Pengiriman(string kodePengiriman, string jenisPengiriman, string nama, string keterangan, DateTime tglKirim, int biayaKirim, NotaPenjualan notaPenjualan, Ekspedisi ekspedisi)
 {
     this.kodePengiriman  = kodePengiriman;
     this.jenisPengiriman = jenisPengiriman;
     this.nama            = nama;
     this.keterangan      = keterangan;
     this.tglKirim        = tglKirim;
     this.biayaKirim      = biayaKirim;
     this.notaPenjualan   = notaPenjualan;
     this.ekspedisi       = ekspedisi;
 }
コード例 #4
0
 public JobOrder(string kodeJobOrder, int quantity, int directLabor, int directMaterial, int overheadProduksi, DateTime tglMulai, DateTime tglSelesai, string pStatus, Barang barang, NotaPenjualan notaPenjualan)
 {
     this.kodeJobOrder     = kodeJobOrder;
     this.quantity         = quantity;
     this.directLabor      = directLabor;
     this.directMaterial   = directMaterial;
     this.overheadProduksi = overheadProduksi;
     this.tglMulai         = tglMulai;
     this.tglSelesai       = tglSelesai;
     this.barang           = barang;
     this.notaPenjualan    = notaPenjualan;
     this.status           = pStatus;
     ListDetilJobOrder     = new List <DetilJobOrder>();
 }
コード例 #5
0
        public static string BacaData(string pKriteria, string pNilaiKriteria, List <Pengiriman> listHasilData)
        {
            string sql = "";

            if (pKriteria == "")
            {
                sql = " select P.kodepengiriman, P.jenisPengiriman, P.biayakirim, P.tglKirim, P.nama, P.keterangan, P.noNotaPenjualan, " +
                      "E.idEkspedisi, E.nama from pengiriman P inner join notaPenjualan NP  on P.noNotaPenjualan = NP.noNotaPenjualan " +
                      " inner join Ekspedisi E on P.idEkspedisi = E.idEkspedisi order by P.kodepengiriman desc";
            }
            else
            {
                sql = " select P.kodepengiriman, P.jenisPengiriman, P.biayakirim, P.tglKirim, P.nama, P.keterangan, P.noNotaPenjualan, " +
                      "E.idEkspedisi, E.nama from pengiriman P inner join notaPenjualan NP  on P.noNotaPenjualan = NP.noNotaPenjualan " +
                      " inner join Ekspedisi E on P.idEkspedisi = E.idEkspedisi where " + pKriteria + " LIKE '%" + pNilaiKriteria + "%' order by P.kodepengiriman desc";
            }

            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listHasilData.Clear();

                while (hasilData.Read() == true)
                {
                    NotaPenjualan nota = new NotaPenjualan();
                    nota.NoNotaPenjualan = hasilData.GetValue(6).ToString();

                    Ekspedisi eks = new Ekspedisi();
                    eks.IdEkspedisi = hasilData.GetValue(7).ToString();
                    eks.Nama        = hasilData.GetValue(8).ToString();

                    string   kodePeng = hasilData.GetValue(0).ToString();
                    string   pJenis   = hasilData.GetValue(1).ToString();
                    int      biaya    = int.Parse(hasilData.GetValue(2).ToString());
                    DateTime tanggal  = DateTime.Parse(hasilData.GetValue(3).ToString());
                    string   nama     = hasilData.GetValue(4).ToString();
                    string   ket      = hasilData.GetValue(5).ToString();

                    Pengiriman peng = new Pengiriman(kodePeng, pJenis, nama, ket, tanggal, biaya, nota, eks);

                    listHasilData.Add(peng);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
コード例 #6
0
        public static string TambahData(NotaPenjualan pNotaJual)
        {
            using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                // perintah sql 1 = untuk menambahkan data ke tabel nota penjualan
                string sql1 = "INSERT INTO notapenjualan(noNotaPenjualan, diskon,  totalHarga, tglBatasPelunasan, tglBatasDiskon, tglJual, status, keterangan, idPelanggan) VALUES ('" +
                              pNotaJual.NoNotaPenjualan + "', " +
                              pNotaJual.Diskon + ", " +
                              pNotaJual.TotalHarga + ", '" +
                              pNotaJual.TglBatasPelunasan.ToString("yyyy-MM-dd ") + "', '" +
                              pNotaJual.TglBatasDiskon.ToString("yyyy-MM-dd ") + "', '" +
                              pNotaJual.TglJual.ToString("yyyy-MM-dd ") + "', '" +
                              pNotaJual.Status + "', '" +
                              pNotaJual.Keterangan + "', " +
                              pNotaJual.Pelanggan.IdPelanggan + ")";

                try
                {
                    //jalankan perintah untuk menambahkan  ke tabel notapenjualan
                    Koneksi.JalankanPerintahDML(sql1);
                    //menambahkan semua barang yang terjual ke dalam detilnotajual
                    for (int i = 0; i < pNotaJual.ListNotaJualDetil.Count; i++)
                    {
                        //perintah sql2 = untuk menambahkan barang barang yang terjual ke tabel detilnotajual
                        string sql2 = "INSERT INTO detilnotajual(noNotaPenjualan, kodeBarang, jumlah, hargaJual) VALUES ('" +
                                      pNotaJual.NoNotaPenjualan + "', '" +
                                      pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang + "', " +
                                      pNotaJual.ListNotaJualDetil[i].Jumlah + ", " +
                                      pNotaJual.ListNotaJualDetil[i].HargaJual + ")";

                        //menjalankan perintah untuk menambahkan  ke tabel notajualdetil
                        Koneksi.JalankanPerintahDML(sql2);

                        //panggil method untuk mengurang stok/quantity barang yang terjual
                        string hasilUpdateBrng = Barang.UbahStokTerjual(pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang, pNotaJual.ListNotaJualDetil[i].Jumlah);
                    }
                    //jika semua perinth dml berhasil dijalankan
                    tranScope.Complete();
                    return("1");
                }
                catch (Exception e)
                {
                    //jika ada kegagalan perintah dml
                    tranScope.Dispose();
                    return(e.Message);
                }
            }
        }
コード例 #7
0
        public static string BacaDataPelunasan(string pKriteria, string pNilaiKriteria, List <NotaPenjualan> listNotaJual)
        {
            string sql = "";

            if (pKriteria == "")
            {
                sql = "select * from notapenjualan where status ='P' ";
            }
            else
            {
                sql = " select * from notapenjualan where status ='P' and "
                      + pKriteria + " LIKE '%" +
                      pNilaiKriteria + "%'";
            }
            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listNotaJual.Clear();//kosongi isi list terlebih dahulu

                while (hasilData.Read())
                {
                    string   nomornota = hasilData.GetValue(0).ToString();
                    int      nominal   = int.Parse(hasilData.GetValue(2).ToString());
                    string   status    = hasilData.GetValue(6).ToString();
                    double   disc      = double.Parse(hasilData.GetValue(1).ToString());
                    DateTime btsDisc   = DateTime.Parse(hasilData.GetValue(4).ToString());

                    NotaPenjualan nota = new NotaPenjualan();
                    nota.NoNotaPenjualan = nomornota;
                    nota.Status          = status;
                    nota.TotalHarga      = nominal;
                    nota.Diskon          = disc;
                    nota.TglBatasDiskon  = btsDisc;

                    listNotaJual.Add(nota);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message);
            }
        }
コード例 #8
0
        public static string BacaData(string pKriteria, string pNilaiKriteria, List <Pelunasan> listHasilData)
        {
            string sql = "";

            if (pKriteria == "")
            {
                sql = " select P.noPelunasan, P.tgl, P.caraPembayaran, P.nominal, NP.noNotaPenjualan FROM pelunasan P inner join " +
                      "notapenjualan NP on P.nonotapenjualan = NP.nonotapenjualan ";
            }
            else
            {
                sql = " select P.noPelunasan, P.tgl, P.caraPembayaran, P.nominal, NP.noNotaPenjualan FROM pelunasan P inner join " +
                      "notapenjualan NP on P.nonotapenjualan = NP.nonotapenjualan where"
                      + pKriteria + " LIKE '%" +
                      pNilaiKriteria + "%'";
            }

            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listHasilData.Clear();

                while (hasilData.Read() == true)
                {
                    string   noPelunasan = hasilData.GetValue(0).ToString();
                    DateTime tanggal     = DateTime.Parse(hasilData.GetValue(1).ToString());
                    string   caraPemb    = hasilData.GetValue(2).ToString();
                    int      nominal     = int.Parse(hasilData.GetValue(3).ToString());


                    NotaPenjualan nota = new NotaPenjualan();
                    nota.NoNotaPenjualan = hasilData.GetValue(4).ToString();
                    Pelunasan pelunasan = new Pelunasan(noPelunasan, nota, tanggal, caraPemb, nominal);
                    listHasilData.Add(pelunasan);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
コード例 #9
0
        public static string BacaData(string kriteria, string nilaiKriteria, List <JobOrder> listJobOrder)
        {
            string sql1 = "";

            if (kriteria == "")
            {
                //tuliskan perintah sql1 = untuk menampilkan semua data  ditabel JobOrder
                sql1 = "SELECT J.kodeJobOrder, B.kodeBarang, B.nama as Item, B.hargaBeliTerbaru, J.quantity, B.satuan, J.directMaterial, J.directLabor, " +
                       " J.overheadProduksi, J.tglMulai, J.tglSelesai, J.noNotaPenjualan, J.status FROM notapenjualan NP inner join " +
                       " joborder J on NP.noNotaPenjualan = J.noNotaPenjualan inner join barang B on B.kodeBarang = J.kodebarang order by kodejoborder DESC ";
            }
            else
            {
                sql1 = "SELECT J.kodeJobOrder, B.kodeBarang, B.nama as Item, B.hargaBeliTerbaru, J.quantity, B.satuan, J.directMaterial, J.directLabor, " +
                       " J.overheadProduksi, J.tglMulai, J.tglSelesai, J.noNotaPenjualan, J.status FROM notapenjualan NP inner join " +
                       " joborder J on NP.noNotaPenjualan = J.noNotaPenjualan inner join barang B on B.kodeBarang = J.kodebarang  where " +
                       kriteria + " LIKE '%" + nilaiKriteria + "%' order by kodejoborder DESC";
            }

            try
            {
                //data reader 1 = memperoleh semua data di tabel job order
                MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1);
                listJobOrder.Clear();//kosongi isi list terlebih dahulu
                while (hasilData1.Read())
                {
                    //mendapatkan  kodeJobOrder, quantity , satuan, dll
                    string   kodeJob   = hasilData1.GetValue(0).ToString();
                    int      pQuantity = int.Parse(hasilData1.GetValue(4).ToString());
                    int      pMaterial = int.Parse(hasilData1.GetValue(6).ToString());
                    int      pLabor    = int.Parse(hasilData1.GetValue(7).ToString());
                    int      pOver     = int.Parse(hasilData1.GetValue(8).ToString());
                    DateTime pMulai    = DateTime.Parse(hasilData1.GetValue(9).ToString());
                    DateTime pSelesai  = DateTime.Parse(hasilData1.GetValue(10).ToString());
                    string   pStatus   = hasilData1.GetValue(12).ToString();

                    //tambahkan no nota
                    string        noNota = hasilData1.GetValue(11).ToString();
                    NotaPenjualan nota   = new NotaPenjualan();
                    nota.NoNotaPenjualan = noNota;

                    //barang  yang akan dibuat
                    //mendapatkan kode barang, nama, harga
                    string kodeBrng = hasilData1.GetValue(1).ToString();
                    string namaBrng = hasilData1.GetValue(2).ToString();
                    int    harga    = int.Parse(hasilData1.GetValue(3).ToString());
                    string pSatuan  = hasilData1.GetValue(5).ToString();

                    //buat object bertipe barang
                    Barang barang = new Barang();
                    //tambahkan 4 data dibawah
                    barang.KodeBarang       = kodeBrng;
                    barang.Nama             = namaBrng;
                    barang.HargaBeliTerbaru = harga;
                    barang.Satuan           = pSatuan;

                    //job order
                    //buat object joborder dan tambahkan data
                    JobOrder job = new JobOrder(kodeJob, pQuantity, pLabor, pMaterial, pOver, pMulai, pSelesai, pStatus, barang, nota);

                    //DETAIL Job Order
                    //query utk detail Job Order
                    //sql2 untuk menghitung directlabor
                    string sql2 = "SELECT K.idkaryawan, K.Nama, K.gender, K.notelepon, DJO.satuan, DJO.gajiPerSatuan FROM joborder JO INNER JOIN " +
                                  "detilJobOrder DJO ON JO.kodejoborder = DJO.kodejoborder INNER JOIN karyawan K ON " +
                                  "DJO.idkaryawan = K.idkaryawan WHERE JO.kodejobOrder = '" + kodeJob + "'";

                    //memperoleh semua data
                    MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2);

                    while (hasilData2.Read())
                    {
                        //mendapatkan  id dan nama karyawan yang bekerja
                        string idKary   = hasilData2.GetValue(0).ToString();
                        string namaKary = hasilData2.GetValue(1).ToString();
                        string pGender  = hasilData2.GetValue(2).ToString();
                        string noTelp   = hasilData2.GetValue(3).ToString();

                        //buat object Karyawan dan tambahkan
                        Karyawan K = new Karyawan();
                        K.IdKaryawan = idKary;
                        K.Nama       = namaKary;
                        K.Gender     = pGender;
                        K.NoTelepon  = noTelp;

                        //mendapatkan satuan dan Gaji persatuan transaksi
                        string pSat       = hasilData2.GetValue(4).ToString();
                        int    gajiSatuan = int.Parse(hasilData2.GetValue(5).ToString());

                        //buat object bertipe detilJoborder dan tambahkan
                        //ingat baik baik agar fk tidak duplicate
                        DetilJobOrder detilJob = new DetilJobOrder(K, pSat, gajiSatuan);

                        //simpan
                        job.TambahDetilJobOrder(K, pSat, gajiSatuan);
                    }
                    //simpan ke list
                    listJobOrder.Add(job);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message);
            }
        }
コード例 #10
0
        public static string CetakNota(string pKriteria, string pNilaiKriteria, string pNamaFile)
        {
            try
            {
                List <NotaPenjualan> listNotaJual = new List <NotaPenjualan>();

                string hasilBaca = NotaPenjualan.BacaData(pKriteria, pNilaiKriteria, listNotaJual);

                StreamWriter file = new StreamWriter(pNamaFile);

                for (int i = 0; i < listNotaJual.Count; i++)
                {
                    file.WriteLine("");
                    file.WriteLine("TOKO MAJU MAKMUR UNTUNG SELALU");
                    file.WriteLine("Jl. Raya Kalirungkut Surabaya");
                    file.WriteLine("Telp. (031) - 12345678");
                    file.WriteLine("=".PadRight(50, '='));

                    //Header
                    file.WriteLine("No.Nota : " + listNotaJual[i].NoNotaPenjualan);
                    file.WriteLine("Tanggal : " + listNotaJual[i].TglJual);
                    file.WriteLine("");
                    file.WriteLine("Pelanggan : " + listNotaJual[i].Pelanggan.Nama);
                    file.WriteLine("Alamat   : " + listNotaJual[i].Pelanggan.Alamat);
                    file.WriteLine("");
                    //file.WriteLine("Pegawai Pembelian : " + listNotaBeli[i]..Nama);
                    file.WriteLine("=".PadRight(50, '='));

                    //Tampilkan barang yg terjual
                    long grandTotal = 0;
                    for (int j = 0; j < listNotaJual[i].ListNotaJualDetil.Count; j++)
                    {
                        string nama = listNotaJual[i].ListNotaJualDetil[j].Barang.Nama;

                        if (nama.Length > 30)
                        {
                            nama = nama.Substring(0, 30);
                        }

                        int  jmlh     = listNotaJual[i].ListNotaJualDetil[j].Jumlah;
                        long harga    = listNotaJual[i].ListNotaJualDetil[j].HargaJual;
                        long subTotal = jmlh * harga;

                        file.Write(nama.PadRight(30, ' '));
                        file.Write(jmlh.ToString().PadRight(3, ' '));
                        file.Write(harga.ToString("0,###").PadLeft(7, ' '));
                        file.Write(subTotal.ToString("0,###").PadLeft(10, ' '));
                        file.WriteLine("");
                        //hitung grand total
                        grandTotal = grandTotal + (jmlh * harga);
                    }
                    file.WriteLine("=".PadRight(50, '='));
                    file.WriteLine("TOTAL : " + grandTotal.ToString("0,###"));
                    file.WriteLine("=".PadRight(50, '='));
                    file.WriteLine("");
                }
                file.Close();

                //cetak ke printer
                Cetak c = new Cetak(pNamaFile, "Courier New", 9, 10, 10, 10, 10);
                c.CetakKePrinter("tulisan");
                return("1");
            }
            catch (MySqlException e)
            {
                return(e.Message);
            }
        }
コード例 #11
0
        public static string BacaData(string kriteria, string nilaiKriteria, List <NotaPenjualan> listNotaJual)
        {
            string sql1 = "";

            if (kriteria == "")
            {
                //tuliskan perintah sql1 = untuk menampilkan semua data  ditabel notapenjualan
                sql1 = "SELECT * FROM vnotapenjualan";
            }
            else
            {
                sql1 = "SELECT * FROM vnotapenjualan WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%'";
            }

            try
            {
                //data reader 1 = memperoleh semua data di tabel notaPenjualan
                MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1);
                listNotaJual.Clear();//kosongi isi list terlebih dahulu

                while (hasilData1.Read())
                {
                    //mendapatkan  nomornota, status ,dll
                    string   nomorNota         = hasilData1.GetValue(0).ToString();
                    double   diskon            = double.Parse(hasilData1.GetValue(4).ToString());
                    int      totalHarga        = int.Parse(hasilData1.GetValue(5).ToString());
                    DateTime tglBatasPelunasan = DateTime.Parse(hasilData1.GetValue(6).ToString());
                    DateTime tglBatasDiskon    = DateTime.Parse(hasilData1.GetValue(7).ToString());
                    DateTime tglJual           = DateTime.Parse(hasilData1.GetValue(8).ToString());
                    string   status            = hasilData1.GetValue(9).ToString();
                    string   keterangan        = hasilData1.GetValue(10).ToString();

                    //pelanggan yang melakukan transaksi
                    //mendapatkan idpelanggan, nama, dan alamat
                    int    idPlg     = int.Parse(hasilData1.GetValue(1).ToString());
                    string namaPlg   = hasilData1.GetValue(2).ToString();
                    string alamatPlg = hasilData1.GetValue(3).ToString();

                    //buat object bertipe pelanggan
                    Pelanggan plg = new Pelanggan();
                    //tambahkan 3 data dibawah
                    plg.IdPelanggan = idPlg;
                    plg.Nama        = namaPlg;
                    plg.Alamat      = alamatPlg;

                    //nota jual
                    //buat object notapenjualan dan tambahkan data
                    NotaPenjualan nota = new NotaPenjualan(nomorNota, status, keterangan, diskon, totalHarga,
                                                           tglBatasPelunasan, tglBatasDiskon, tglJual, plg);

                    //DETAIL nota jual
                    //query utk detail nota jual dati tiap nota jual
                    //sql2 untuk mendapatkan barang yang ada di nota  (dar tabel detilnotajual)
                    string sql2 = "SELECT DNJ.kodeBarang, B.Nama, DNJ.Jumlah , DNJ.HargaJual FROM NotaPenjualan N INNER JOIN " +
                                  "detilNotaJual DNJ ON N.noNotaPenjualan = DNJ.noNotaPenjualan INNER JOIN Barang B ON " +
                                  "DNJ.KodeBarang = B.KodeBarang WHERE N.noNotaPenjualan = '" + nomorNota + "'";

                    //memperoleh semua data barang nota ditabel detilnotajual
                    MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2);

                    while (hasilData2.Read())
                    {
                        //mendapatkan  kode dan nama barang yang terjual
                        string kodeBrg = hasilData2.GetValue(0).ToString();
                        string namaBrg = hasilData2.GetValue(1).ToString();
                        //buat object barang dan tambahkan
                        Barang brg = new Barang();
                        brg.KodeBarang = kodeBrg;
                        brg.Nama       = namaBrg;

                        //mendapatkan harga jual dan jumlah transaksi
                        int hargaJual = int.Parse(hasilData2.GetValue(3).ToString());
                        int jumlah    = int.Parse(hasilData2.GetValue(2).ToString());

                        //buat object bertipe detilnotajual dan tambahkan
                        //ingat baik baik agar fk tidak duplicate
                        DetilNotaJual detilNota = new DetilNotaJual(brg, jumlah, hargaJual);

                        //simpan detil barang ke nota
                        nota.TambahDetilBarang(brg, jumlah, hargaJual);
                    }
                    //simpan ke list
                    listNotaJual.Add(nota);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message);
            }
        }