public static string BacaData(string kriteria, string nilaiKriteria, List <SuratPermintaan> listSuratPermintaan) { string sql1 = ""; if (kriteria == "") { //tuliskan perintah sql1 = untuk menampilkan semua data ditabel suratpermintaan sql1 = "select SP.noSuratPermintaan, SP.tanggal, SP.keterangan, SP.kodejoborder, JO.quantity, JO.directlabor, " + " JO.directmaterial, JO.overheadproduksi, JO.status from suratpermintaan SP inner join joborder JO on SP.kodejoborder = JO.kodejoborder " + " order by noSuratPermintaan desc"; } else { sql1 = "select SP.noSuratPermintaan, SP.tanggal, SP.keterangan, SP.kodejoborder, JO.quantity, JO.directlabor, " + " JO.directmaterial, JO.overheadproduksi, JO.status from suratpermintaan SP inner join joborder JO on SP.kodejoborder = JO.kodejoborder " + " where " + kriteria + " LIKE '%" + nilaiKriteria + "%' order by noSuratPermintaan desc"; } try { //data reader 1 = memperoleh semua data di tabelsurat permintaan MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1); listSuratPermintaan.Clear();//kosongi isi list terlebih dahulu while (hasilData1.Read()) { //mendapatkan nosurat ,dll string nomorSurat = hasilData1.GetValue(0).ToString(); DateTime tgl = DateTime.Parse(hasilData1.GetValue(1).ToString()); string ket = hasilData1.GetValue(2).ToString(); //permintaan dari job order //mendapatkan kode job order string kodeJob = hasilData1.GetValue(3).ToString(); int pquantity = int.Parse(hasilData1.GetValue(4).ToString()); int labor = int.Parse(hasilData1.GetValue(5).ToString()); int material = int.Parse(hasilData1.GetValue(6).ToString()); int over = int.Parse(hasilData1.GetValue(7).ToString()); string pStatus = hasilData1.GetValue(8).ToString(); //buat object bertipe joborder JobOrder job = new JobOrder(); //tambahkan data job.KodeJobOrder = kodeJob; job.Quantity = pquantity; job.DirectLabor = labor; job.DirectMaterial = material; job.OverheadProduksi = over; job.Status = pStatus; //Surat Permintaan //buat object surat Permintaan dan tambahkan data SuratPermintaan surat = new SuratPermintaan(nomorSurat, ket, tgl, job); //DETAIL surat permintaan //query utk detail suratpermintaan dari tiap surat //sql2 untuk mendapatkan barang yang akan di gunakan string sql2 = "SELECT DSP.kodeBarang, B.Nama, DSP.Jumlah FROM suratpermintaan SP INNER JOIN " + "detilsuratpermintaan DSP ON SP.nosuratpermintaan = DSP.nosuratpermintaan INNER JOIN Barang B ON " + "DSP.KodeBarang = B.KodeBarang WHERE SP.nosuratpermintaan = '" + nomorSurat + "'"; //memperoleh semua data barang ditabel detilsuratpermintaan MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2); while (hasilData2.Read()) { //mendapatkan kode dan nama barang yang akan digunakan 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 jumlah int jumlah = int.Parse(hasilData2.GetValue(2).ToString()); //buat object bertipe detilsurat dan tambahkan //ingat baik baik agar fk tidak duplicate DetilSuratPermintaan detilSurat = new DetilSuratPermintaan(brg, jumlah); //simpan detil barang surat.TambahDetilBarang(brg, jumlah); } //simpan ke list listSuratPermintaan.Add(surat); } return("1"); } catch (MySqlException ex) { return(ex.Message); } }
public void TambahDetilBarang(Barang pBarang, int pJumlah) { DetilSuratPermintaan dsp = new DetilSuratPermintaan(pBarang, pJumlah); ListDetilSuratPermintaan.Add(dsp); }