Example #1
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 #2
0
    public bool BertambahBerkurang(DateTime tanggal, int idTempat, int idPengguna, TBStokProduk StokProduk, int jumlahStok, decimal hargaBeli, decimal hargaJual, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan)
    {
        if (StokProduk != null)
        {
            jumlahStok = Math.Abs(jumlahStok); //STOK HARUS LEBIH DARI 0

            if (jumlahStok > 0)
            {
                //MENCARI JENIS PERPINDAHAN STOK
                var JenisPerpindahanStok = db.TBJenisPerpindahanStoks.FirstOrDefault(item => item.IDJenisPerpindahanStok == (int)enumJenisPerpindahanStok);

                if (JenisPerpindahanStok != null)
                {
                    //MUTASI STOK PRODUK
                    MutasiStokProduk(idPengguna, StokProduk, enumJenisPerpindahanStok, jumlahStok, hargaBeli, hargaJual, keterangan);

                    if (JenisPerpindahanStok.Status.Value)
                    {
                        StokProduk.HargaBeli = PenghitunganAverage(StokProduk.Jumlah.Value, StokProduk.HargaBeli.Value, jumlahStok, hargaBeli);

                        StokProduk.Jumlah += jumlahStok;
                    }
                    else
                    {
                        StokProduk.Jumlah -= jumlahStok;
                    }

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

                    return(true);
                }
                else
                {
                    return(false); //JENIS PERPINDAHAN STOK PRODUK TIDAK DITEMUKAN
                }
            }
            else
            {
                return(false); //JUMLAH STOK TIDAK VALID
            }
        }
        else
        {
            return(false); //STOK PRODUK TIDAK DITEMUKAN
        }
    }
Example #3
0
    public bool BertambahBerkurang(int idTempat, int idPengguna, int idKombinasiProduk, int jumlahStok, decimal hargaBeli, decimal hargaJual, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan)
    {
        //PENCARIAN STOK PRODUK BERDASARKAN IDTempat IDKombinasiProduk
        var StokProduk = Cari(idTempat, idKombinasiProduk);

        return(BertambahBerkurang(idTempat, idPengguna, StokProduk, jumlahStok, hargaBeli, hargaJual, enumJenisPerpindahanStok, 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 static void InsertStokBahanBakuDetail(DataClassesDatabaseDataContext db, string kodeStokBahanBaku, int idStokBahanBaku, int idSupplier, DateTime tanggalDaftar, decimal hargaBeli, decimal jumlah)
    //{
    //    db.TBStokBahanBakuDetails.InsertOnSubmit(new TBStokBahanBakuDetail
    //    {
    //        KodeStokBahanBaku = kodeStokBahanBaku,
    //        IDStokBahanBaku = idStokBahanBaku,
    //        IDSupplier = idSupplier,
    //        TanggalDaftar = tanggalDaftar,
    //        HargaBeli = hargaBeli,
    //        Jumlah = jumlah,
    //        Aktif = true
    //    });
    //}

    //public static string InsertStokBahanBakuDetailSP(DataClassesDatabaseDataContext db, TBStokBahanBaku stokBahanBaku, int idSupplier, string kodeStokBahanBaku, DateTime tanggalDaftar, decimal hargaBeli, decimal jumlah, bool satuanBesar)
    //{
    //    #region Konversi Ke Satuan Stok Bahan Baku
    //    if (satuanBesar == true)
    //    {
    //        jumlah *= stokBahanBaku.TBBahanBaku.Konversi.Value;
    //        hargaBeli /= stokBahanBaku.TBBahanBaku.Konversi.Value;
    //    }
    //    #endregion

    //    db.Proc_InsertStokBahanBakuDetail(ref kodeStokBahanBaku, stokBahanBaku.IDStokBahanBaku, idSupplier, tanggalDaftar, hargaBeli, jumlah);

    //    return kodeStokBahanBaku;
    //}
    #endregion

    #region UPDATE
    public static TBStokBahanBaku UpdateBertambahBerkurang(DataClassesDatabaseDataContext db, DateTime tanggal, int idPengguna, TBStokBahanBaku stokBahanBaku, decimal jumlahStok, decimal hargaBeli, bool satuanBesar, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan)
    {
        if (stokBahanBaku != null)
        {
            if (jumlahStok > 0)
            {
                //MENCARI JENIS PERPINDAHAN STOK
                TBJenisPerpindahanStok JenisPerpindahanStok = db.TBJenisPerpindahanStoks.FirstOrDefault(item => item.IDJenisPerpindahanStok == (int)enumJenisPerpindahanStok);

                if (JenisPerpindahanStok != null)
                {
                    #region Konversi Ke Satuan Stok Bahan Baku
                    if (satuanBesar == true)
                    {
                        jumlahStok *= stokBahanBaku.TBBahanBaku.Konversi.Value;
                        hargaBeli  /= stokBahanBaku.TBBahanBaku.Konversi.Value;
                    }
                    #endregion

                    decimal hargaBeliPerpindahanStok = 0;
                    if ((bool)JenisPerpindahanStok.Status)
                    {
                        hargaBeliPerpindahanStok = hargaBeli;
                        stokBahanBaku.HargaBeli  = HitungRataRataHargaBeli(stokBahanBaku.Jumlah.Value, stokBahanBaku.HargaBeli.Value, jumlahStok, hargaBeli);
                        stokBahanBaku.Jumlah    += jumlahStok;
                    }
                    else
                    {
                        hargaBeliPerpindahanStok = stokBahanBaku.HargaBeli.Value;
                        stokBahanBaku.Jumlah    -= jumlahStok;
                    }

                    //MENCATAT DI PERPINDAHAN STOK PRODUK
                    InsertPerpindahanStok(
                        db: db,
                        idJenisPerindahanStok: JenisPerpindahanStok.IDJenisPerpindahanStok,
                        stokBahanBaku: stokBahanBaku,
                        idTempat: stokBahanBaku.IDTempat.Value,
                        idPengguna: idPengguna,
                        idSatuan: stokBahanBaku.TBBahanBaku.IDSatuan,
                        tanggal: tanggal,
                        hargaBeli: hargaBeliPerpindahanStok,
                        jumlah: jumlahStok,
                        keterangan: keterangan);
                }
            }
        }

        return(stokBahanBaku);
    }