示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            #region FIND CONTROL
            Label LabelJudul       = (Label)Page.Master.FindControl("LabelJudul");
            Label LabelSubJudul    = (Label)Page.Master.FindControl("LabelSubJudul");
            Label LabelStoreTempat = (Label)Page.Master.FindControl("LabelStoreTempat");

            Label LabelPrintTanggal     = (Label)Page.Master.FindControl("LabelPrintTanggal");
            Label LabelPrintPengguna    = (Label)Page.Master.FindControl("LabelPrintPengguna");
            Label LabelPrintStoreTempat = (Label)Page.Master.FindControl("LabelPrintStoreTempat");

            Label LabelPeriode = (Label)Page.Master.FindControl("LabelPeriode");

            HtmlGenericControl PanelPengirimHeader = (HtmlGenericControl)Page.Master.FindControl("PanelPengirimHeader");
            HtmlGenericControl PanelPengirimFooter = (HtmlGenericControl)Page.Master.FindControl("PanelPengirimFooter");

            Label LabelPengirimTempat    = (Label)Page.Master.FindControl("LabelPengirimTempat");
            Label LabelPengirimPengguna  = (Label)Page.Master.FindControl("LabelPengirimPengguna");
            Label LabelPengirimPengguna1 = (Label)Page.Master.FindControl("LabelPengirimPengguna1");
            Label LabelPengirimTanggal   = (Label)Page.Master.FindControl("LabelPengirimTanggal");
            Label LabelPengirimAlamat    = (Label)Page.Master.FindControl("LabelPengirimAlamat");
            Label LabelPengirimTelepon   = (Label)Page.Master.FindControl("LabelPengirimTelepon");
            Label LabelPengirimEmail     = (Label)Page.Master.FindControl("LabelPengirimEmail");

            HtmlGenericControl PanelKeterangan = (HtmlGenericControl)Page.Master.FindControl("PanelKeterangan");
            Label LabelPengirimKeterangan      = (Label)Page.Master.FindControl("LabelPengirimKeterangan");

            HtmlGenericControl PanelPenerimaHeader = (HtmlGenericControl)Page.Master.FindControl("PanelPenerimaHeader");
            HtmlGenericControl PanelPenerimaFooter = (HtmlGenericControl)Page.Master.FindControl("PanelPenerimaFooter");

            Label LabelPenerimaTempat    = (Label)Page.Master.FindControl("LabelPenerimaTempat");
            Label LabelPenerimaPengguna  = (Label)Page.Master.FindControl("LabelPenerimaPengguna");
            Label LabelPenerimaPengguna1 = (Label)Page.Master.FindControl("LabelPenerimaPengguna1");
            Label LabelPenerimaTanggal   = (Label)Page.Master.FindControl("LabelPenerimaTanggal");
            Label LabelPenerimaAlamat    = (Label)Page.Master.FindControl("LabelPenerimaAlamat");
            Label LabelPenerimaTelepon   = (Label)Page.Master.FindControl("LabelPenerimaTelepon");
            #endregion

            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                LabelCariIDPOProduksiProduk.Text = string.IsNullOrEmpty(Request.QueryString["IDPOProduksiBahanBaku"]) ? string.Empty : '"' + Request.QueryString["IDPOProduksiBahanBaku"] + '"';
                LabelCariVendor.Text             = Request.QueryString["IDSupplier"] == "0" ? "Semua" : db.TBVendors.FirstOrDefault(item => item.IDVendor == Request.QueryString["IDSupplier"].ToInt()).Nama;
                LabelCariTempat.Text             = Request.QueryString["IDTempat"] == "0" ? "Semua" : db.TBTempats.FirstOrDefault(item => item.IDTempat == Request.QueryString["IDTempat"].ToInt()).Nama;

                LabelCariStatusSisa.Text = Request.QueryString["StatusSisa"];

                Laporan_Class Laporan_Class = new Laporan_Class(db, (PenggunaLogin)Session["PenggunaLogin"], Request.QueryString["TanggalAwal"].ToDateTime(), Request.QueryString["TanggalAkhir"].ToDateTime(), false);

                var Result = Laporan_Class.SisaPOProduksiBahanBaku(Request.QueryString["IDTempat"].ToInt(), Request.QueryString["IDSupplier"].ToInt(), Request.QueryString["IDPOProduksiBahanBaku"], Request.QueryString["EnumJenisProduksi"].ToInt(), Request.QueryString["StatusSisa"]);

                #region USER INTERFACE LAPORAN
                LabelSubtotalHeader.Text = Result["Subtotal"];
                LabelSubtotalFooter.Text = LabelSubtotalHeader.Text;
                LabelPeriode.Text        = Laporan_Class.Periode;

                RepeaterLaporan.DataSource = Result["Data"];
                RepeaterLaporan.DataBind();
                #endregion
            }

            LabelJudul.Text = "Sisa PO Produksi Bahan Baku (" + Pengaturan.JenisPOProduksi(Request.QueryString["EnumJenisProduksi"].ToInt(), "BahanBaku") + ")";

            LabelPrintTanggal.Text     = DateTime.Now.ToFormatTanggal();
            LabelPrintPengguna.Text    = Pengguna.NamaLengkap;
            LabelPrintStoreTempat.Text = Pengguna.Store + " - " + Pengguna.Tempat;

            PanelPengirimHeader.Visible = false;
            PanelPengirimFooter.Visible = false;

            //LabelPengirimTempat.Text
            //LabelPengirimPengguna.Text
            //LabelPengirimPengguna1.Text = LabelPengirimPengguna.Text;
            //LabelPengirimTanggal.Text
            //LabelPengirimAlamat.Text
            //LabelPengirimTelepon.Text
            //LabelPengirimEmail.Text

            //PanelKeterangan.Visible
            //LabelPengirimKeterangan.Text

            PanelPenerimaHeader.Visible = false;
            PanelPenerimaFooter.Visible = false;

            //LabelPenerimaTempat.Text
            //LabelPenerimaPengguna.Text
            //LabelPenerimaPengguna1.Text = LabelPenerimaPengguna.Text;
            //LabelPenerimaTanggal.Text
            //LabelPenerimaAlamat.Text
            //LabelPenerimaTelepon.Text
        }
    }
示例#2
0
    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
        }
    }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                TextBoxPegawai.Text = pengguna.NamaLengkap;

                TBProyeksi proyeksi = db.TBProyeksis.FirstOrDefault(item => item.IDProyeksi == Request.QueryString["id"]);
                TextBoxTanggalProyeksi.Text = proyeksi.TanggalProyeksi.ToFormatTanggal();
                TextBoxTanggalTarget.Text   = proyeksi.TanggalTarget.ToFormatTanggal();

                #region Produk
                var daftarProduk = proyeksi.TBProyeksiDetails.Select(item => new
                {
                    item.TBKombinasiProduk.KodeKombinasiProduk,
                    PemilikProduk = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama,
                    Produk        = item.TBKombinasiProduk.TBProduk.Nama,
                    AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama,
                    Kategori      = StokProduk_Class.GabungkanSemuaKategoriProduk(null, null, item.TBKombinasiProduk),
                    item.Jumlah,
                    item.Sisa
                }).OrderBy(item => item.Produk).ThenBy(item => item.AtributProduk).ToArray();
                RepeaterProduk.DataSource = daftarProduk;
                RepeaterProduk.DataBind();

                if (daftarProduk.Sum(item => item.Sisa) <= 0)
                {
                    ButtonProduk.Visible = false;
                }
                #endregion

                if (proyeksi.TBProyeksiKomposisis.Count == 0)
                {
                    PanelKomposisi.Visible = false;

                    RepeaterKomposisi.DataSource = null;
                    RepeaterKomposisi.DataBind();

                    RepeaterBahanBakuDasar.DataSource = null;
                    RepeaterBahanBakuDasar.DataBind();
                }
                else
                {
                    PanelKomposisi.Visible = true;

                    #region Komposisi
                    var produksiBahanBaku = proyeksi.TBProyeksiKomposisis.Where(item => item.LevelProduksi > 0).GroupBy(item => new
                    {
                        item.LevelProduksi
                    })
                                            .Select(item => new
                    {
                        item.Key.LevelProduksi,
                        SubData = item.Where(data => data.LevelProduksi == item.Key.LevelProduksi && data.BahanBakuDasar == false).Select(data => new
                        {
                            data.IDBahanBaku,
                            data.IDSatuan,
                            BahanBaku = data.TBBahanBaku.Nama,
                            Kategori  = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, data.TBBahanBaku),
                            Satuan    = data.TBSatuan.Nama,
                            data.Jumlah
                        }).OrderBy(data => data.BahanBaku),
                        StatusButton = item.Sum(data => data.Sisa) > 0 ? true : false
                    }).OrderBy(item => item.LevelProduksi);
                    RepeaterKomposisi.DataSource = produksiBahanBaku;
                    RepeaterKomposisi.DataBind();
                    #endregion

                    #region Komposisi Dasar
                    //RepeaterBahanBakuDasar.DataSource = proyeksi.TBProyeksiKomposisis.Where(item => item.BahanBakuDasar == true)
                    //.Select(item => new
                    //{
                    //    item.TBBahanBaku.IDBahanBaku,
                    //    item.TBSatuan.IDSatuan,
                    //    BahanBaku = item.TBBahanBaku.Nama,
                    //    Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, item.TBBahanBaku),
                    //    Satuan = item.TBSatuan.Nama,
                    //    item.Jumlah,
                    //}).OrderBy(data => data.BahanBaku);
                    //RepeaterBahanBakuDasar.DataBind();

                    var purchaseOrder = proyeksi.TBProyeksiKomposisis.Where(item => item.BahanBakuDasar == true).GroupBy(item => new
                    {
                        item.TBBahanBaku,
                        item.TBSatuan
                    })
                                        .Select(item => new
                    {
                        item.Key.TBBahanBaku.IDBahanBaku,
                        item.Key.TBSatuan.IDSatuan,
                        BahanBaku = item.Key.TBBahanBaku.Nama,
                        Kategori  = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, item.Key.TBBahanBaku),
                        Satuan    = item.Key.TBSatuan.Nama,
                        Jumlah    = item.Sum(x => x.Jumlah),
                        Sisa      = item.Sum(x => x.Sisa)
                    }).OrderBy(data => data.BahanBaku);
                    RepeaterBahanBakuDasar.DataSource = purchaseOrder;
                    RepeaterBahanBakuDasar.DataBind();

                    if (purchaseOrder.Sum(item => item.Sisa) <= 0)
                    {
                        LinkButtonPurchaseOrder.Visible = false;
                    }
                    #endregion
                }

                RepeaterPOProduksiBahanBaku.DataSource = proyeksi.TBPOProduksiBahanBakus.OrderBy(item => item.Tanggal).Select(item => new
                {
                    item.IDPOProduksiBahanBaku,
                    Jenis = Pengaturan.JenisPOProduksi(item.EnumJenisProduksi, "BahanBaku"),
                    item.Tanggal,
                    Pegawai  = item.TBPengguna.NamaLengkap,
                    Supplier = item.IDSupplier == null ? string.Empty : item.TBSupplier.Nama,
                    item.Grandtotal
                }).ToArray();
                RepeaterPOProduksiBahanBaku.DataBind();

                RepeaterPOProduksiProduk.DataSource = proyeksi.TBPOProduksiProduks.OrderBy(item => item.Tanggal).Select(item => new
                {
                    item.IDPOProduksiProduk,
                    Jenis = Pengaturan.JenisPOProduksi(item.EnumJenisProduksi, "Produk"),
                    item.Tanggal,
                    Pegawai = item.TBPengguna.NamaLengkap,
                    Vendor  = item.IDVendor == null ? string.Empty : item.TBVendor.Nama,
                    item.Grandtotal
                }).ToArray();
                RepeaterPOProduksiProduk.DataBind();
            }
        }
    }
示例#4
0
    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;

                TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]);

                LabelJudul.Text = Pengaturan.JenisPOProduksi(poProduksiBahanBaku.EnumJenisProduksi, "BahanBaku");
                LabelIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku;

                LabelNamaSupplier.Text   = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Nama : string.Empty;
                LabelAlamatSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Alamat : string.Empty;

                LabelIDProyeksi.Text        = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : string.Empty;
                LabelIDProduksi.Text        = poProduksiBahanBaku.IDPOProduksiBahanBaku;
                LabelTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal();
                LabelTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal();

                LabelPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal();

                RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Select(item => new
                {
                    item.TBBahanBaku.KodeBahanBaku,
                    BahanBaku = item.TBBahanBaku.Nama,
                    Satuan    = item.TBSatuan.Nama,
                    item.HargaPokokKomposisi,
                    item.BiayaTambahan,
                    item.HargaSupplier,
                    item.PotonganHargaSupplier,
                    item.Jumlah,
                    Subtotal = item.TBPOProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.SubtotalHPP : item.SubtotalHargaSupplier
                }).ToArray();
                RepeaterDetail.DataBind();
                LabelTotalSubtotal.Text = poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? poProduksiBahanBaku.SubtotalTotalHPP.ToFormatHarga() : poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga();

                if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri)
                {
                    headerHarga.Visible    = false;
                    headerPotongan.Visible = false;
                }
                else
                {
                    headerKomposisi.Visible = false;
                    headerBiaya.Visible     = false;
                }
                RepeaterKomposisi.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray();
                RepeaterKomposisi.DataBind();
                LabelTotalSubtotalKomposisi.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Sum(item => item.Subtotal).ToFormatHarga();

                RepeaterBiayaTambahan.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray();
                RepeaterBiayaTambahan.DataBind();
                LabelTotalSubtotalBiayaTambahan.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga();
                LabelBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga();
                LabelPotongan.Text      = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga();
                LabelJudulTax.Text      = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)";
                LabelTax.Text           = poProduksiBahanBaku.Tax.ToFormatHarga();
                LabelGrandtotal.Text    = poProduksiBahanBaku.Grandtotal.ToFormatHarga();

                LiteralKeterangan.Text = "<b>Keterangan :</b><br/>" + poProduksiBahanBaku.Keterangan;

                if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.PurchaseOrder)
                {
                    komposisi.Visible = false;
                }
            }
        }
    }