protected void RepeaterPenerimaan_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Detail") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { LabelIDPenerimaan.Text = e.CommandArgument.ToString(); TBPenerimaanPOProduksiProduk penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == e.CommandArgument.ToString()); RepeaterPenerimaanDetail.DataSource = penerimaan.TBPenerimaanPOProduksiProdukDetails.Select(item => new { Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, item.Datang, item.Diterima, item.TolakKeVendor, item.TolakKeGudang }).ToArray(); RepeaterPenerimaanDetail.DataBind(); TextBoxKeteranganPenerimaan.Text = penerimaan.Keterangan; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBStore store = db.TBStores.FirstOrDefault(); LabelNamaStore.Text = store.Nama; LabelAlamatStore.Text = store.Alamat; TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == Request.QueryString["id"]); LabelJudul.Text = "(PRODUCT)"; LabelIDPenerimaanPOProduksiProduk.Text = penerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk; LabelNamaVendor.Text = penerimaanPOProduksiProduk.TBPOProduksiProduk.IDVendor != null ? penerimaanPOProduksiProduk.TBPOProduksiProduk.TBVendor.Nama : string.Empty; LabelAlamatVendor.Text = penerimaanPOProduksiProduk.TBPOProduksiProduk.IDVendor != null ? penerimaanPOProduksiProduk.TBPOProduksiProduk.TBVendor.Alamat : string.Empty; LabelIDProduksi.Text = penerimaanPOProduksiProduk.IDPOProduksiProduk; LabelIDPenerimaan.Text = penerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk; LabelTanggal.Text = penerimaanPOProduksiProduk.TanggalDatang.ToFormatTanggal(); LabelPenerima.Text = penerimaanPOProduksiProduk.TBPengguna.NamaLengkap; RepeaterDetail.DataSource = penerimaanPOProduksiProduk.TBPenerimaanPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPenerimaanPOProduksiProduk penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = penerimaan.TBPOProduksiProduk.IDProyeksi != null ? penerimaan.TBPOProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = penerimaan.IDPOProduksiProduk; TextBoxPegawai.Text = penerimaan.TBPengguna1.NamaLengkap; TextBoxTanggal.Text = penerimaan.TanggalTerima.ToFormatTanggal(); TextBoxStatus.Text = penerimaan.TBPOProduksiProdukPenagihan != null ? penerimaan.TBPOProduksiProdukPenagihan.StatusPembayaran == false ? "Kontra" : "Lunas" : "Baru"; TextBoxIDPOProduksiProdukPenagihan.Text = penerimaan.TBPOProduksiProdukPenagihan == null ? string.Empty : penerimaan.IDPOProduksiProdukPenagihan; TextBoxVendor.Text = penerimaan.TBPOProduksiProduk.TBVendor.Nama; TextBoxEmail.Text = penerimaan.TBPOProduksiProduk.TBVendor.Email; TextBoxAlamat.Text = penerimaan.TBPOProduksiProduk.TBVendor.Alamat; TextBoxTelepon1.Text = penerimaan.TBPOProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = penerimaan.TBPOProduksiProduk.TBVendor.Telepon2; RepeaterDetail.DataSource = penerimaan.TBPenerimaanPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); TextBoxKeterangan.Text = penerimaan.Keterangan; } } }
protected void CheckBoxPilihPenerimaan_CheckedChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { List <TBPOProduksiProduk> Produksi = new List <TBPOProduksiProduk>(); decimal TotalPenerimaan = 0; foreach (RepeaterItem item in RepeaterDetailPenerimaan.Items) { CheckBox CheckBoxPilihPenerimaan = (CheckBox)item.FindControl("CheckBoxPilihPenerimaan"); Label LabelIDPenerimaanPOProduksiProduk = (Label)item.FindControl("LabelIDPenerimaanPOProduksiProduk"); if (CheckBoxPilihPenerimaan.Checked == true) { TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item2 => item2.IDPenerimaanPOProduksiProduk == LabelIDPenerimaanPOProduksiProduk.Text); if (Produksi.FirstOrDefault(item2 => item2.IDPOProduksiProduk == penerimaanPOProduksiProduk.IDPOProduksiProduk) == null) { Produksi.Add(penerimaanPOProduksiProduk.TBPOProduksiProduk); } TotalPenerimaan += penerimaanPOProduksiProduk.Grandtotal.Value; } } LabelTotalPenerimaan.Text = TotalPenerimaan.ToFormatHarga(); var DownPayment = Produksi.Select(item => new { item.IDPOProduksiProduk, item.TanggalDownPayment, item.DownPayment }).Distinct(); RepeaterDownPayment.DataSource = DownPayment; RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = DownPayment.Sum(item => item.DownPayment).ToFormatHarga(); TextBoxTotalPenagihan.Text = (LabelTotalPenerimaan.Text.ToDecimal() - LabelTotalRetur.Text.ToDecimal() - LabelTotalDownPayment.Text.ToDecimal()).ToFormatHarga(); } }
protected void ButtonTerima_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPenerimaanPOProduksiProduk = string.Empty; string IDTransferProduk = string.Empty; TBPenerimaanPOProduksiProduk penerimaan = null; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); bool penerimaanSesuai = true; EntitySet <TBPenerimaanPOProduksiProdukDetail> daftarDetail = new EntitySet <TBPenerimaanPOProduksiProdukDetail>(); int baris = 0; foreach (RepeaterItem item in RepeaterDetail.Items) { baris++; Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); TextBox TextBoxSisaPesanan = (TextBox)item.FindControl("TextBoxSisaPesanan"); TextBox TextBoxJumlahDatang = (TextBox)item.FindControl("TextBoxJumlahDatang"); TextBox TextBoxJumlahTerima = (TextBox)item.FindControl("TextBoxJumlahTerima"); TextBox TextBoxJumlahTolakKeVendor = (TextBox)item.FindControl("TextBoxJumlahTolakKeVendor"); if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() > 0) { if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() >= TextBoxJumlahTerima.Text.ToDecimal().ToInt()) { TBPOProduksiProdukDetail poProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == LabelIDKombinasiProduk.Text.ToInt()); daftarDetail.Add(new TBPenerimaanPOProduksiProdukDetail() { IDKombinasiProduk = poProduksiProdukDetail.IDKombinasiProduk, BiayaTambahan = poProduksiProdukDetail.BiayaTambahan, HargaPokokKomposisi = poProduksiProdukDetail.HargaPokokKomposisi, TotalHPP = poProduksiProdukDetail.TotalHPP, HargaVendor = poProduksiProdukDetail.HargaVendor, PotonganHargaVendor = poProduksiProdukDetail.PotonganHargaVendor, TotalHargaVendor = poProduksiProdukDetail.TotalHargaVendor, Datang = TextBoxJumlahDatang.Text.ToDecimal().ToInt(), Diterima = TextBoxJumlahTerima.Text.ToDecimal().ToInt(), TolakKeVendor = TextBoxJumlahTolakKeVendor.Text.ToDecimal().ToInt(), Sisa = TextBoxJumlahTerima.Text.ToDecimal().ToInt() <= TextBoxSisaPesanan.Text.ToDecimal().ToInt() ? TextBoxSisaPesanan.Text.ToDecimal().ToInt() - TextBoxJumlahTerima.Text.ToDecimal().ToInt() : 0 }); } else { LabelPeringatan.Text = "Jumlah diterima lebih besar dari jumlah datang, baris ke-" + baris.ToString(); peringatan.Visible = true; penerimaanSesuai = false; break; } } } if (penerimaanSesuai == true) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); TBStokProduk[] daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == Pengguna.IDTempat).ToArray(); db.Proc_InsertPenerimaanPOProduksiProduk(ref IDPenerimaanPOProduksiProduk, poProduksiProduk.IDPOProduksiProduk, poProduksiProduk.IDVendor, Pengguna.IDTempat, Pengguna.IDPengguna, TextBoxTanggalPenerimaan.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); penerimaan.IDPenggunaTerima = penerimaan.IDPenggunaDatang; penerimaan.TanggalTerima = penerimaan.TanggalDatang; penerimaan.TBPenerimaanPOProduksiProdukDetails = daftarDetail; penerimaan.TotalDatang = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Datang); penerimaan.TotalDiterima = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Diterima); penerimaan.TotalTolakKeVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TolakKeVendor); penerimaan.TotalSisa = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Sisa); penerimaan.SubtotalBiayaTambahan = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.BiayaTambahan * item.Diterima); penerimaan.SubtotalTotalHPP = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHPP * item.Diterima); penerimaan.SubtotalTotalHargaVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHargaVendor * item.Diterima); penerimaan.Grandtotal = penerimaan.SubtotalTotalHPP + penerimaan.SubtotalTotalHargaVendor; penerimaan.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima; penerimaan.Keterangan = TextBoxKeterangan.Text; foreach (var item in penerimaan.TBPenerimaanPOProduksiProdukDetails) { var POProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); POProduksiProdukDetail.Sisa = item.Sisa; TBStokProduk StokProduk = daftarStokProduk.FirstOrDefault(data => data.IDTempat == Pengguna.IDTempat && data.IDKombinasiProduk == item.IDKombinasiProduk); StokProduk_Class.PengaturanJumlahStokPenerimaanPOProduk(penerimaan.TanggalTerima.Value, Pengguna.IDPengguna, Pengguna.IDTempat, StokProduk, item.TotalHargaVendor, item.Datang, item.TolakKeVendor, item.TBPenerimaanPOProduksiProduk.TBPOProduksiProduk.IDPOProduksiProduk + " - #" + item.TBPenerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk); } poProduksiProduk.TBPenerimaanPOProduksiProduks.Add(penerimaan); #region arie - INPUT JURNAL ////////////var KonfigurasiAkun = db.TBKonfigurasiAkuns.Where(item => item.IDTempat == 1); ////////////if (KonfigurasiAkun != null) ////////////{ //////////// #region Pembuatan Jurnal Penerimaan PO YG Belum Bayar //////////// TBJurnal Jurnal = new TBJurnal //////////// { //////////// IDTempat = Pengguna.IDTempat, //////////// Tanggal = penerimaan.TanggalTerima, //////////// Keterangan = penerimaan.Keterangan, //////////// IDPengguna = penerimaan.IDPenggunaTerima, //////////// Referensi = penerimaan.IDPenerimaanPOProduksiProduk //////////// }; //////////// #region JOURNAL ENTRY //////////// //DEBIT : PERSEDIAAN //////////// //KREDIT : HUTANG DAGANG //////////// //PERSEDIAAN //////////// Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //////////// { //////////// IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "PERSEDIAAN").IDAkun, //////////// Debit = penerimaan.Grandtotal, //////////// Kredit = 0 //////////// }); //////////// //HUTANG DAGANG //////////// Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //////////// { //////////// IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "HUTANG DAGANG").IDAkun, //////////// Debit = 0, //////////// Kredit = penerimaan.Grandtotal //////////// }); //////////// #endregion //////////// db.TBJurnals.InsertOnSubmit(Jurnal); //////////// #endregion ////////////} #endregion db.SubmitChanges(); statusBerhasil = true; } else { peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); if (penerimaan != null) { db.TBPenerimaanPOProduksiProdukDetails.DeleteAllOnSubmit(penerimaan.TBPenerimaanPOProduksiProdukDetails); db.TBPenerimaanPOProduksiProduks.DeleteOnSubmit(penerimaan); db.SubmitChanges(); IDPenerimaanPOProduksiProduk = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Penerimaan Produksi Ke Supplier (ButtonSimpan_Click by : " + Pengguna.NamaLengkap + ")"); LabelPeringatan.Text = "Terjadi kesalahan, silahkan cek kembali data yang diinputkan"; peringatan.Visible = true; } finally { if (statusBerhasil == true) { Response.Redirect("Default.aspx"); } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { if (Page.IsValid) { peringatan.Visible = false; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPOProduksiProdukPenagihan = string.Empty; TBPOProduksiProdukPenagihan produksiProdukPenagihan = null; bool statusBerhasil = false; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { db.Proc_InsertPOProduksiProdukPenagihan(ref IDPOProduksiProdukPenagihan, DropDownListVendor.SelectedValue.ToInt(), pengguna.IDTempat, pengguna.IDPengguna, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); produksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == IDPOProduksiProdukPenagihan); foreach (RepeaterItem item in RepeaterDetailPenerimaan.Items) { CheckBox CheckBoxPilihPenerimaan = (CheckBox)item.FindControl("CheckBoxPilihPenerimaan"); Label LabelIDPenerimaanPOProduksiProduk = (Label)item.FindControl("LabelIDPenerimaanPOProduksiProduk"); if (CheckBoxPilihPenerimaan.Checked == true) { TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item2 => item2.IDPenerimaanPOProduksiProduk == LabelIDPenerimaanPOProduksiProduk.Text); penerimaanPOProduksiProduk.TBPOProduksiProdukPenagihan = produksiProdukPenagihan; } } foreach (RepeaterItem item in RepeaterRetur.Items) { CheckBox CheckBoxPilihRetur = (CheckBox)item.FindControl("CheckBoxPilihRetur"); Label LabelIDPOProduksiProdukRetur = (Label)item.FindControl("LabelIDPOProduksiProdukRetur"); if (CheckBoxPilihRetur.Checked == true) { TBPOProduksiProdukRetur POProduksiProdukRetur = db.TBPOProduksiProdukReturs.FirstOrDefault(item2 => item2.IDPOProduksiProdukRetur == LabelIDPOProduksiProdukRetur.Text); POProduksiProdukRetur.TBPOProduksiProdukPenagihan = produksiProdukPenagihan; POProduksiProdukRetur.EnumStatusRetur = (int)EnumStatusPORetur.Proses; } } produksiProdukPenagihan.TotalPenerimaan = LabelTotalPenerimaan.Text.ToDecimal(); produksiProdukPenagihan.TotalRetur = LabelTotalRetur.Text.ToDecimal(); produksiProdukPenagihan.TotalDownPayment = LabelTotalDownPayment.Text.ToDecimal(); produksiProdukPenagihan.TotalBayar = 0; produksiProdukPenagihan.StatusPembayaran = false; produksiProdukPenagihan.Keterangan = TextBoxKeterangan.Text; if (TextBoxTotalPenagihan.Text.ToDecimal() > 0) { db.SubmitChanges(); statusBerhasil = true; } else { db.TBPOProduksiProdukPenagihans.DeleteOnSubmit(produksiProdukPenagihan); LabelPeringatan.Text = "Total tagihan dibawah 0"; peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { produksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == IDPOProduksiProdukPenagihan); if (produksiProdukPenagihan != null) { produksiProdukPenagihan.TBPenerimaanPOProduksiProduks.ToList().ForEach(item => item.IDPOProduksiProdukPenagihan = null); db.TBPOProduksiProdukPenagihans.DeleteOnSubmit(produksiProdukPenagihan); db.SubmitChanges(); IDPOProduksiProdukPenagihan = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Invoice Purchase Order Produk (ButtonSimpan_Click by : " + pengguna.NamaLengkap + ")"); LabelPeringatan.Text = "Terjadi kesalahan, silahkan cek kembali data yang diinputkan"; peringatan.Visible = true; } finally { if (statusBerhasil == true) { Response.Redirect("Default.aspx"); } } } }