Example #1
0
 public void PengaturanJumlahStokPenerimaanPOProdukTolakKeGudang(DateTime tanggal, int idPengguna, int idTempat, TBStokProduk stokProduk, decimal hargaBeli, int jumlahTolakKeGudang, string keterangan)
 {
     if (stokProduk != null)
     {
         if (jumlahTolakKeGudang > 0)
         {
             BertambahBerkurang(tanggal, idTempat, idPengguna, stokProduk, jumlahTolakKeGudang, hargaBeli, stokProduk.HargaJual.Value, EnumJenisPerpindahanStok.TransferStokKeluar, keterangan);
         }
     }
 }
Example #2
0
    private void MutasiStokProduk(int idPengguna, TBStokProduk StokProduk, EnumJenisPerpindahanStok enumJenisPerpindahanStok, int jumlahStok, decimal hargaBeli, decimal hargaJual, string keterangan)
    {
        var StokProdukMutasi = new TBStokProdukMutasi
        {
            //IDStokProdukMutasi
            //IDStokProduk
            TBStokProduk = StokProduk,
            IDPengguna   = idPengguna,
            IDWMS        = Guid.NewGuid(),
            Tanggal      = DateTime.Now,
            HargaBeli    = hargaBeli,
            HargaJual    = hargaJual,
            Keterangan   = keterangan
        };

        //KREDIT
        if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransferStokKeluar) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transfer;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransferStokMasuk) //BERKURANG
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transfer;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransferBatal) //BERKURANG
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transfer;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.Transaksi) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transaksi;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PerubahanTransaksi) //BERKURANG
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transaksi;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransaksiBatal) //BERKURANG
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transaksi;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TolakPenerimaanPO) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPurchaseOrder;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PembuanganBarangRusak) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.PembuanganRusak;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.ReturKeTempatProduksi) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturProduksi;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PenguranganProduksi) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.PenguranganUntukProduksi;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }

        //DEBIT
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.RestockBarang) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Restock;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.ReturDariPembeli) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPelanggan;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.ReturDariPembeliBatal) //BERKURANG
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPelanggan;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PerubahanReturDariPembeli) //BERKURANG
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPelanggan;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = jumlahStok;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PenerimaanPO) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.PurchaseOrder;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.HasilProduksi) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Produksi;
            StokProdukMutasi.Debit             = jumlahStok;
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.StokOpnameBertambah) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.StokOpname;
            StokProdukMutasi.Debit             = Math.Abs(jumlahStok);
            StokProdukMutasi.Kredit            = 0;

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
        else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.StokOpnameBerkurang) //BERTAMBAH
        {
            StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.StokOpname;
            StokProdukMutasi.Debit             = 0;
            StokProdukMutasi.Kredit            = Math.Abs(jumlahStok);

            db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi);
        }
    }
Example #3
0
    //BANU RUSMAN
    #region POProduksiProduk
    public void PengaturanJumlahStokPenerimaanPOProduk(DateTime tanggal, int idPengguna, int idTempat, TBStokProduk stokProduk, decimal hargaBeli, int jumlahDatang, int jumlahTolakKeVendor, string keterangan)
    {
        if (stokProduk != null)
        {
            if (jumlahDatang - jumlahTolakKeVendor > 0)
            {
                stokProduk.HargaBeli = HitungRataRataHargaBeli(stokProduk.Jumlah.Value, stokProduk.HargaBeli.Value, (jumlahDatang - jumlahTolakKeVendor), hargaBeli);
            }

            if (jumlahDatang > 0)
            {
                BertambahBerkurang(tanggal, idTempat, idPengguna, stokProduk, jumlahDatang, hargaBeli, stokProduk.HargaJual.Value, EnumJenisPerpindahanStok.PenerimaanPO, "Penerimaan #" + keterangan);
            }

            if (jumlahTolakKeVendor > 0)
            {
                BertambahBerkurang(tanggal, idTempat, idPengguna, stokProduk, jumlahTolakKeVendor, hargaBeli, stokProduk.HargaJual.Value, EnumJenisPerpindahanStok.TolakPenerimaanPO, "Penerimaan Tolak Ke Vendor #" + keterangan);
            }
        }
    }
Example #4
0
 public bool BertambahBerkurang(int idTempat, int idPengguna, TBStokProduk StokProduk, int jumlahStok, decimal hargaBeli, decimal hargaJual, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan)
 {
     return(BertambahBerkurang(DateTime.Now, idTempat, idPengguna, StokProduk, jumlahStok, hargaBeli, hargaJual, enumJenisPerpindahanStok, keterangan));
 }
Example #5
0
    public bool Penyesuaian(int idTempat, int idPengguna, TBStokProduk StokProduk, int jumlahStok, string keterangan)
    {
        //PENCARIAN STOK PRODUK BERDASARKAN IDTempat IDKombinasiProduk
        if (StokProduk != null)
        {
            //PENYESUAIAN STOK PRODUK
            EnumJenisPerpindahanStok enumJenisPerpindahanStok;

            //menghitung selisih stok
            int selisihStok = (int)(StokProduk.Jumlah - jumlahStok);

            if (selisihStok != 0)
            {
                if (selisihStok < 0)
                {
                    enumJenisPerpindahanStok = EnumJenisPerpindahanStok.StokOpnameBertambah;
                }
                else
                {
                    enumJenisPerpindahanStok = EnumJenisPerpindahanStok.StokOpnameBerkurang;
                }

                var JenisPerpindahanStok = db.TBJenisPerpindahanStoks.FirstOrDefault(item => item.IDJenisPerpindahanStok == (int)enumJenisPerpindahanStok);

                if (JenisPerpindahanStok != null)
                {
                    //UPDATE JUMLAH STOK PRODUK
                    StokProduk.Jumlah = jumlahStok;

                    //MUTASI STOK PRODUK
                    MutasiStokProduk(idPengguna, StokProduk, enumJenisPerpindahanStok, selisihStok, StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, keterangan);

                    //MENCATAT DI PERPINDAHAN STOK PRODUK
                    db.TBPerpindahanStokProduks.InsertOnSubmit(new TBPerpindahanStokProduk
                    {
                        IDWMS = Guid.NewGuid(),
                        TBJenisPerpindahanStok = JenisPerpindahanStok,
                        TBStokProduk           = StokProduk,
                        IDTempat   = idTempat,
                        IDPengguna = idPengguna,
                        Tanggal    = DateTime.Now,
                        Jumlah     = Math.Abs(selisihStok),
                        Keterangan = keterangan
                    });

                    return(true);
                }
                else
                {
                    return(false); //JENIS PERPINDAHAN STOK PRODUK TIDAK DITEMUKAN
                }
            }
            else
            {
                return(false); //TIDAK ADA PERUBAHAN JUMLAH STOK
            }
        }
        else
        {
            return(false);  //STOK PRODUK TIDAK DITEMUKAN
        }
    }
Example #6
0
    protected void ButtonUpdate_Click(object sender, EventArgs e)
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            try
            {
                #region UPDATE HARGA BELI PERPINDAHAN STOK BAHAN BAKU
                //TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.ToArray();

                //foreach (var item in db.TBPerpindahanStokBahanBakus)
                //{
                //    item.HargaBeli = daftarStokBahanBaku.FirstOrDefault(data => data.IDStokBahanBaku == item.IDStokBahanBaku).HargaBeli.Value;
                //}
                #endregion

                #region TAMBAH DATA PENGIRIMAN BAHAN BAKU DI PRODUKSI BAHAN BAKU
                //TBPOProduksiBahanBaku[] daftarPOProduksiBahanBaku = db.TBPOProduksiBahanBakus.Where(item => item.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.PurchaseOrder && item.EnumStatusProduksi > (int)PilihanEnumStatusPOProduksi.Baru && item.TBPOProduksiBahanBakuKomposisis.Sum(data => data.Kirim) > 0).ToArray();

                //foreach (var poProduksi in daftarPOProduksiBahanBaku)
                //{
                //    string IDPengirimanPOProduksiBahanBaku = string.Empty;

                //    db.Proc_InsertPengirimanPOProduksiBahanBaku(ref IDPengirimanPOProduksiBahanBaku, poProduksi.IDPOProduksiBahanBaku, (poProduksi.IDSupplier != null ? poProduksi.IDSupplier : 0), poProduksi.IDTempat, poProduksi.IDPenggunaProses, poProduksi.TanggalProses);

                //    TBPengirimanPOProduksiBahanBaku pengiriman = db.TBPengirimanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPengirimanPOProduksiBahanBaku == IDPengirimanPOProduksiBahanBaku);

                //    pengiriman.TBPOProduksiBahanBaku = poProduksi;
                //    pengiriman.TBPengirimanPOProduksiBahanBakuDetails.AddRange(poProduksi.TBPOProduksiBahanBakuKomposisis.Select(item => new TBPengirimanPOProduksiBahanBakuDetail
                //    {
                //        TBBahanBaku = item.TBBahanBaku,
                //        TBSatuan = item.TBSatuan,
                //        HargaBeli = item.HargaBeli,
                //        Kirim = item.Kirim
                //    }));
                //    pengiriman.Grandtotal = pengiriman.TBPengirimanPOProduksiBahanBakuDetails.Sum(item => (item.Kirim * item.HargaBeli));
                //    pengiriman.Keterangan = null;
                //}
                #endregion

                #region TAMBAH DATA PENGIRIMAN BAHAN BAKU DI PRODUKSI PRODUK
                //TBPOProduksiProduk[] daftarPOProduksiProduk = db.TBPOProduksiProduks.Where(item => item.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.PurchaseOrder && item.EnumStatusProduksi > (int)PilihanEnumStatusPOProduksi.Baru && item.TBPOProduksiProdukKomposisis.Sum(data => data.Kirim) > 0).ToArray();

                //foreach (var poProduksi in daftarPOProduksiProduk)
                //{
                //    string IDPengirimanPOProduksiProduk = string.Empty;

                //    db.Proc_InsertPengirimanPOProduksiProduk(ref IDPengirimanPOProduksiProduk, poProduksi.IDPOProduksiProduk, (poProduksi.IDVendor != null ? poProduksi.IDVendor : 0), poProduksi.IDTempat, poProduksi.IDPenggunaProses, poProduksi.TanggalProses);

                //    TBPengirimanPOProduksiProduk pengiriman = db.TBPengirimanPOProduksiProduks.FirstOrDefault(item => item.IDPengirimanPOProduksiProduk == IDPengirimanPOProduksiProduk);

                //    pengiriman.TBPOProduksiProduk = poProduksi;
                //    pengiriman.TBPengirimanPOProduksiProdukDetails.AddRange(poProduksi.TBPOProduksiProdukKomposisis.Select(item => new TBPengirimanPOProduksiProdukDetail
                //    {
                //        TBBahanBaku = item.TBBahanBaku,
                //        TBSatuan = item.TBSatuan,
                //        HargaBeli = item.HargaBeli,
                //        Kirim = item.Kirim
                //    }));
                //    pengiriman.Grandtotal = pengiriman.TBPengirimanPOProduksiProdukDetails.Sum(item => (item.Kirim * item.HargaBeli));
                //    pengiriman.Keterangan = null;
                //}
                #endregion

                #region TAMBAH DATA PEMABAYARAN PO DARI TOTAL BAYAR
                //TBPOProduksiBahanBaku[] daftarPOProduksiBahanBaku = db.TBPOProduksiBahanBakus.Where(item => item.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri && item.TotalBayar > 0).ToArray();

                //foreach (var item in daftarPOProduksiBahanBaku)
                //{
                //    db.TBPOProduksiBahanBakuJenisPembayarans.InsertOnSubmit(new TBPOProduksiBahanBakuJenisPembayaran
                //    {
                //        TBPOProduksiBahanBaku = item,
                //        IDPengguna = item.IDPenggunaSelesai != null ? item.IDPenggunaSelesai.Value : (item.IDPenggunaProses != null ? item.IDPenggunaProses.Value : item.IDPenggunaPending),
                //        IDJenisPembayaran = 1,
                //        Tanggal = item.TanggalSelesai != null ? item.TanggalSelesai.Value : (item.TanggalProses != null ? item.TanggalProses.Value : item.TanggalPending),
                //        Bayar = item.TotalBayar,
                //        Keterangan = null
                //    });
                //}

                //TBPOProduksiProduk[] daftarPOProduksiProduk = db.TBPOProduksiProduks.Where(item => item.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri && item.TotalBayar > 0).ToArray();

                //foreach (var item in daftarPOProduksiProduk)
                //{
                //    db.TBPOProduksiProdukJenisPembayarans.InsertOnSubmit(new TBPOProduksiProdukJenisPembayaran
                //    {
                //        TBPOProduksiProduk = item,
                //        IDPengguna = item.IDPenggunaSelesai != null ? item.IDPenggunaSelesai.Value : (item.IDPenggunaProses != null ? item.IDPenggunaProses.Value : item.IDPenggunaPending),
                //        IDJenisPembayaran = 1,
                //        Tanggal = item.TanggalSelesai != null ? item.TanggalSelesai.Value : (item.TanggalProses != null ? item.TanggalProses.Value : item.TanggalPending),
                //        Bayar = item.TotalBayar,
                //        Keterangan = null
                //    });
                //}
                #endregion

                #region UPDATE IDPENGGUNAPIC & IDPENGGUNATERIMA + TANGGAL TERIMA
                //foreach (var item in db.TBPOProduksiBahanBakus.ToArray())
                //{
                //    item.IDPenggunaPIC = item.IDPenggunaPending;
                //}

                //foreach (var item in db.TBPOProduksiProduks.ToArray())
                //{
                //    item.IDPenggunaPIC = item.IDPenggunaPending;
                //}

                //foreach (var item in db.TBPenerimaanPOProduksiBahanBakus.ToArray())
                //{
                //    item.IDPenggunaTerima = item.IDPenggunaDatang;
                //    item.TanggalTerima = item.TanggalDatang;
                //    item.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima;
                //}

                //foreach (var item in db.TBPenerimaanPOProduksiProduks.ToArray())
                //{
                //    item.IDPenggunaTerima = item.IDPenggunaDatang;
                //    item.TanggalTerima = item.TanggalDatang;
                //    item.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima;
                //}
                #endregion

                DateTime tanggal = DateTime.Now.Date.AddDays(-1).AddHours(12);
                var      hasil   = db.TBPenerimaanPOProduksiProdukDetails.Where(item => item.TBPenerimaanPOProduksiProduk.TanggalTerima.Value >= tanggal.Date && item.TBPenerimaanPOProduksiProduk.TanggalTerima.Value <= tanggal).Select(item => new
                {
                    item.IDKombinasiProduk,
                    item.TBPenerimaanPOProduksiProduk.TanggalTerima,
                    Jumlah = item.Diterima
                }).OrderByDescending(item => item.TanggalTerima).ToArray();

                TBStokProduk[] daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == 1).ToArray();

                int index = 0;
                foreach (var item in hasil)
                {
                    TBStokProduk stokProduk = daftarStokProduk.FirstOrDefault(item2 => item2.IDKombinasiProduk == item.IDKombinasiProduk);
                    stokProduk.Jumlah = stokProduk.Jumlah.Value - item.Jumlah;
                    index++;
                }

                db.SubmitChanges();

                LabelNotif.Text    = "sukses " + index.ToString();
                LabelNotif.Visible = true;
            }
            catch (Exception)
            {
                LabelNotif.Text    = "gagal";
                LabelNotif.Visible = true;
            }
        }
    }
Example #7
0
    private void LoadPOLama(DataClassesDatabaseDataContext db, string IDPOProduksiProduk)
    {
        PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk);

        TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : string.Empty;
        TextBoxPegawai.Text    = pengguna.NamaLengkap;
        DropDownListPenggunaPIC.SelectedValue = poProduksiProduk.IDPenggunaPIC.ToString();
        TextBoxTanggal.Text           = poProduksiProduk.Tanggal.ToString("d MMMM yyyy");
        TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman != null?poProduksiProduk.TanggalPengiriman.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy");

        TBStokProduk[] daftarStokProduk = null;
        if (TextBoxIDProyeksi.Text != string.Empty)
        {
            TBProyeksiDetail[] proyeksiDetail = db.TBProyeksiDetails.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray();
            daftarStokProduk = db.TBStokProduks.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiDetail.Any(data => data.IDKombinasiProduk == item.IDKombinasiProduk)).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray();
        }
        else
        {
            daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == pengguna.IDTempat && item.TBKombinasiProduk.TBProduk._IsActive).ToArray();
        }
        DropDownListStokProduk.DataSource = daftarStokProduk
                                            .Select(item => new
        {
            item.IDStokProduk,
            item.TBKombinasiProduk.Nama
        })
                                            .Distinct()
                                            .OrderBy(item => item.Nama)
                                            .ToArray();

        DropDownListStokProduk.DataTextField  = "Nama";
        DropDownListStokProduk.DataValueField = "IDStokProduk";
        DropDownListStokProduk.DataBind();

        List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"];

        foreach (var item in poProduksiProduk.TBPOProduksiProdukDetails)
        {
            TBStokProduk stokProduk = daftarStokProduk.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk);

            POProduksiDetail_Model detail = new POProduksiDetail_Model();
            detail.IDProduk          = stokProduk.TBKombinasiProduk.IDProduk;
            detail.IDKombinasiProduk = stokProduk.IDKombinasiProduk;
            detail.IDStokProduk      = stokProduk.IDStokProduk;
            detail.Kode                = stokProduk.TBKombinasiProduk.KodeKombinasiProduk;
            detail.Produk              = stokProduk.TBKombinasiProduk.TBProduk.Nama;
            detail.Atribut             = stokProduk.TBKombinasiProduk.TBAtributProduk.Nama;
            detail.KombinasiProduk     = stokProduk.TBKombinasiProduk.Nama;
            detail.HargaPokokKomposisi = 0;
            detail.BiayaTambahan       = 0;
            detail.TotalHPP            = 0;
            detail.Harga               = 0;
            detail.PotonganHarga       = 0;
            detail.TotalHarga          = detail.Harga - detail.PotonganHarga;
            detail.Jumlah              = item.Jumlah;
            detail.Sisa                = detail.Jumlah;
            ViewStateListDetail.Add(detail);
        }
        ViewState["ViewStateListDetail"] = ViewStateListDetail;

        RadioButtonListStatusHPP.SelectedValue = poProduksiProduk.EnumJenisHPP.ToString();
        if (RadioButtonListStatusHPP.SelectedValue == ((int)PilihanEnumJenisHPP.Komposisi).ToString())
        {
            PengaturanHPPKomposisi(db);
        }
        else
        {
            List <POProduksiKomposisi_Model>     ViewStateListKomposisi     = (List <POProduksiKomposisi_Model>)ViewState["ViewStateListKomposisi"];
            List <POProduksiBiayaTambahan_Model> ViewStateListBiayaTambahan = (List <POProduksiBiayaTambahan_Model>)ViewState["ViewStateListBiayaTambahan"];

            ViewStateListKomposisi.AddRange(poProduksiProduk.TBPOProduksiProdukKomposisis.Select(item => new POProduksiKomposisi_Model
            {
                IDBahanBaku     = item.IDBahanBaku,
                IDSatuan        = item.IDSatuan,
                BahanBaku       = item.TBBahanBaku.Nama,
                Satuan          = item.TBSatuan.Nama,
                HargaBeli       = item.HargaBeli,
                JumlahKebutuhan = item.Kebutuhan,
                JumlahSisa      = 0,
                JumlahKurang    = 0
            }));
            ViewState["ViewStateListKomposisi"] = ViewStateListKomposisi;

            ViewStateListBiayaTambahan.AddRange(poProduksiProduk.TBPOProduksiProdukBiayaTambahans.Select(item => new POProduksiBiayaTambahan_Model
            {
                IDJenisBiayaProduksi = item.IDJenisBiayaProduksi,
                Nama           = item.TBJenisBiayaProduksi.Nama,
                JumlahProduksi = 1,
                Biaya          = item.Nominal
            }));
            ViewState["ViewStateListBiayaTambahan"] = ViewStateListBiayaTambahan;

            PengaturanHPPRataRata();
        }

        TextBoxKeterangan.Text = poProduksiProduk.Keterangan;
        LoadData();
    }
Example #8
0
 public static TBHargaVendor CariHargaVendor(DataClassesDatabaseDataContext db, TBVendor vendor, TBStokProduk stokProduk)
 {
     return(db.TBHargaVendors.FirstOrDefault(item => item.TBVendor == vendor && item.TBStokProduk == stokProduk));
 }