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); } }
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; }
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; }
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>(); }
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); } }
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); } } }
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); } }
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); } }
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); } }
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); } }
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); } }