protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); RepeaterKomposisi.DataSource = poProduksiProduk.TBPOProduksiProdukKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiProduk.TBPOProduksiProdukKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); RepeaterPengiriman.DataSource = db.TBPengirimanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPengirimanPOProduksiProduk, item.Tanggal, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPengiriman.aspx?id=" + item.IDPengirimanPOProduksiProduk + "')" }).ToArray(); RepeaterPengiriman.DataBind(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiProduk + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiProduk.TBPenerimaanPOProduksiProduks.Count > 0 || poProduksiProduk.TBPengirimanPOProduksiProduks.Count > 0) { ButtonEdit.Visible = false; } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxVendor.Text = poProduksiProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProduk.TBVendor.Telepon2; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiProduk.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiProduk.Grandtotal.ToFormatHarga(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiProduk + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiProduk.TBPenerimaanPOProduksiProduks.Count > 0 || poProduksiProduk.TBPengirimanPOProduksiProduks.Count > 0) { ButtonEdit.Visible = false; } } } }
private void LoadData(bool GenerateExcel) { //DEFAULT TextBoxTanggalAwal.Text = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy"); TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy"); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (TextBoxTanggalAwal.Text == TextBoxTanggalAkhir.Text) { LabelPeriode.Text = TextBoxTanggalAwal.Text; } else { LabelPeriode.Text = TextBoxTanggalAwal.Text + " - " + TextBoxTanggalAkhir.Text; } TBPOProduksiBahanBaku[] daftarPOProduksiBahanBaku = db.TBPOProduksiBahanBakus.Where(item => item.IDTempat == DropDownListTempat.SelectedValue.ToInt() && item.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwal.Text).Date&& item.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhir.Text).Date).ToArray(); TBPOProduksiBahanBakuDetail[] daftarPOProduksiBahanBakuDetail = db.TBPOProduksiBahanBakuDetails.Where(item => item.TBPOProduksiBahanBaku.IDTempat == DropDownListTempat.SelectedValue.ToInt() && item.TBPOProduksiBahanBaku.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwal.Text).Date&& item.TBPOProduksiBahanBaku.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhir.Text).Date).ToArray(); TBPenerimaanPOProduksiBahanBakuDetail[] daftarPenerimaanPOProduksiBahanBakuDetail = db.TBPenerimaanPOProduksiBahanBakuDetails.Where(item => item.TBPenerimaanPOProduksiBahanBaku.TBPOProduksiBahanBaku.IDTempat == DropDownListTempat.SelectedValue.ToInt() && item.TBPenerimaanPOProduksiBahanBaku.TanggalTerima.Value.Date >= DateTime.Parse(TextBoxTanggalAwal.Text).Date&& item.TBPenerimaanPOProduksiBahanBaku.TanggalTerima.Value.Date <= DateTime.Parse(TextBoxTanggalAkhir.Text).Date).ToArray(); #region Purchase Order var purchaseOrder = daftarPOProduksiBahanBaku.GroupBy(item => new { item.EnumJenisProduksi }) .Select(item => new { item.Key.EnumJenisProduksi, JenisPO = Pengaturan.JenisPOProduksi(item.Key.EnumJenisProduksi, "BahanBaku"), Baru = item.Count(), GrandtotalBaru = item.Sum(data => data.Grandtotal), Proses = item.Count(), GrandtotalProses = item.Sum(data => data.Grandtotal), Selesai = item.Count(), GrandtotalSelesai = item.Sum(data => data.Grandtotal), Total = item.Count(), GrandtotalTotal = item.Sum(data => data.Grandtotal), Progress = Persentase(item.Count() == 0 ? -1 : ((decimal)item.Count() / (decimal)item.Count()) * 100), }).OrderBy(item => item.EnumJenisProduksi).ToArray(); RepeaterPurchaseOrder.DataSource = purchaseOrder; RepeaterPurchaseOrder.DataBind(); LabelBaru.Text = purchaseOrder.Sum(item => item.Baru).ToFormatHargaBulat(); LabelGrandtotalBaru.Text = purchaseOrder.Sum(item => item.GrandtotalBaru).ToFormatHarga(); LabelProses.Text = purchaseOrder.Sum(item => item.Proses).ToFormatHargaBulat(); LabeGrandtotalProses.Text = purchaseOrder.Sum(item => item.GrandtotalProses).ToFormatHarga(); LabelSelesai.Text = purchaseOrder.Sum(item => item.Selesai).ToFormatHargaBulat(); LabelGrandtotalSelesai.Text = purchaseOrder.Sum(item => item.GrandtotalSelesai).ToFormatHarga(); LabelTotal.Text = purchaseOrder.Sum(item => item.Total).ToFormatHargaBulat(); LabelGrandtotalTotal.Text = purchaseOrder.Sum(item => item.GrandtotalTotal).ToFormatHarga(); #endregion #region Summary LabelPotongan.Text = daftarPOProduksiBahanBaku.Sum(item => item.PotonganPOProduksiBahanBaku).ToFormatHarga(); LabelBiayaLainLain.Text = daftarPOProduksiBahanBaku.Sum(item => item.BiayaLainLain).ToFormatHarga(); LabelTax.Text = daftarPOProduksiBahanBaku.Sum(item => item.Tax).ToFormatHarga(); LabelGrandtotal.Text = daftarPOProduksiBahanBaku.Sum(item => item.Grandtotal).ToFormatHarga(); LabelHargaKomposisiDetail.Text = daftarPOProduksiBahanBakuDetail.Sum(item => item.Jumlah * item.HargaPokokKomposisi).ToFormatHarga(); LabelBiayaTambahanDetail.Text = daftarPOProduksiBahanBakuDetail.Sum(item => item.Jumlah * item.BiayaTambahan).ToFormatHarga(); LabelPotonganHargaDetail.Text = daftarPOProduksiBahanBakuDetail.Sum(item => item.Jumlah * item.PotonganHargaSupplier).ToFormatHarga(); LabelJumlahBahanBakuDetail.Text = daftarPOProduksiBahanBakuDetail.Sum(item => item.Jumlah).ToFormatHarga(); LabelHargaSupplierDetail.Text = daftarPOProduksiBahanBakuDetail.Sum(item => item.Jumlah * item.HargaSupplier).ToFormatHarga(); LabelSubtotalDetail.Text = daftarPOProduksiBahanBakuDetail.Sum(item => item.SubtotalHPP + item.SubtotalHargaSupplier).ToFormatHarga(); #endregion #region Kategori RepeaterKategori.DataSource = daftarPOProduksiBahanBakuDetail.GroupBy(item => new { Kategori = item.TBBahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Count > 0 ? item.TBBahanBaku.TBRelasiBahanBakuKategoriBahanBakus.FirstOrDefault().TBKategoriBahanBaku.Nama : "" }) .Select(item => new { item.Key.Kategori, Jumlah = item.Sum(data => data.Jumlah).ToFormatHarga(), Subtotal = item.Sum(data => data.SubtotalHPP + data.SubtotalHargaSupplier).ToFormatHarga() }); RepeaterKategori.DataBind(); #endregion #region //RepeaterPenerimaan.DataSource = daftarPenerimaanPOProduksiBahanBakuDetail.GroupBy(item => new //{ // item.TBBahanBaku, // item.TBSatuan //}).Select(item => new //{ // BahanBaku = item.Key.TBBahanBaku.Nama, // Satuan = item.Key.TBSatuan.Nama, // Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(db, null, item.Key.TBBahanBaku), // Diterima = item.Sum(data => data.Diterima).ToFormatHarga(), // Subtotal = item.FirstOrDefault().TBPenerimaanPOProduksiBahanBaku.TBPOProduksiBahanBaku.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.Sum(data => data.SubtotalHargaSupplier).ToFormatHarga() : item.Sum(data => data.SubtotalHPP).ToFormatHarga() //}); //RepeaterPenerimaan.DataBind(); RepeaterPenerimaan.DataSource = daftarPenerimaanPOProduksiBahanBakuDetail.GroupBy(item => new { Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(db, null, item.TBBahanBaku) }).Select(item => new { Kategori = item.Key.Kategori, Diterima = item.Sum(data => data.Diterima).ToFormatHarga(), Subtotal = item.FirstOrDefault().TBPenerimaanPOProduksiBahanBaku.TBPOProduksiBahanBaku.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.Sum(data => data.SubtotalHargaSupplier).ToFormatHarga() : item.Sum(data => data.SubtotalHPP).ToFormatHarga() }).OrderBy(item => item.Kategori); RepeaterPenerimaan.DataBind(); #endregion #region Jatuh Tempo decimal batas = db.TBStoreKonfigurasis.FirstOrDefault(item => item.IDStoreKonfigurasi == (int)EnumStoreKonfigurasi.JumlahHariSebelumJatuhTempo).Pengaturan.ToDecimal(); LabelPanelSetengahJatuhTempo.Text = "1-" + Math.Floor(batas / 2).ToFormatHargaBulat() + " Hari"; LabelPanelJatuhTempo.Text = Math.Floor(batas / 2).ToFormatHargaBulat() + "-" + batas.ToFormatHargaBulat() + " Hari"; var daftarJatuhTempo = daftarPOProduksiBahanBaku .Where(item => item.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri && ((int)((item.TanggalJatuhTempo.Value.Date - DateTime.Now.Date).TotalDays) < batas)) .Select(item => new { ClassWarna = Warna((int)((item.TanggalJatuhTempo.Value.Date - DateTime.Now.Date).TotalDays), batas), Pengguna = item.TBPengguna.NamaLengkap, item.IDPOProduksiBahanBaku, item.TBSupplier.Nama, item.EnumJenisProduksi, item.Tanggal, item.TanggalJatuhTempo, Jarak = (item.TanggalJatuhTempo.Value.Date - DateTime.Now.Date).TotalDays }) .OrderBy(item => item.Jarak) .ToArray(); if (DropDownListJatuhTempo.SelectedValue == "0") { RepeaterPOBahanBakuJatuhTempoSatu.DataSource = daftarJatuhTempo.Where(item => item.ClassWarna == "danger"); RepeaterPOBahanBakuJatuhTempoSatu.DataBind(); RepeaterPOBahanBakuJatuhTempoDua.DataSource = daftarJatuhTempo.Where(item => item.ClassWarna == "warning"); RepeaterPOBahanBakuJatuhTempoDua.DataBind(); RepeaterPOBahanBakuJatuhTempoTiga.DataSource = daftarJatuhTempo.Where(item => item.ClassWarna == string.Empty); RepeaterPOBahanBakuJatuhTempoTiga.DataBind(); } else { RepeaterPOBahanBakuJatuhTempoSatu.DataSource = daftarJatuhTempo.Where(item => item.ClassWarna == "danger" && item.EnumJenisProduksi == DropDownListJatuhTempo.SelectedValue.ToInt()); RepeaterPOBahanBakuJatuhTempoSatu.DataBind(); RepeaterPOBahanBakuJatuhTempoDua.DataSource = daftarJatuhTempo.Where(item => item.ClassWarna == "warning" && item.EnumJenisProduksi == DropDownListJatuhTempo.SelectedValue.ToInt()); RepeaterPOBahanBakuJatuhTempoDua.DataBind(); RepeaterPOBahanBakuJatuhTempoTiga.DataSource = daftarJatuhTempo.Where(item => item.ClassWarna == string.Empty && item.EnumJenisProduksi == DropDownListJatuhTempo.SelectedValue.ToInt()); RepeaterPOBahanBakuJatuhTempoTiga.DataBind(); } #endregion } }