Пример #1
0
    public TBJurnal Tambah(DataClassesDatabaseDataContext db, DateTime tanggal, string keterangan, int idPengguna, string referensi, List <TBJurnalDetail> Detail)
    {
        TBJurnal Jurnal = new TBJurnal
        {
            Tanggal    = tanggal,
            Keterangan = keterangan,
            IDPengguna = idPengguna,
            Referensi  = referensi
        };

        Jurnal.TBJurnalDetails.AddRange(Detail);

        db.TBJurnals.InsertOnSubmit(Jurnal);

        return(Jurnal);

        ////1 - KAS
        //Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
        //{
        //    IDAkun = 1,
        //    Debit = GrandTotal,
        //    Kredit = 0
        //});

        ////7 - PENJUALAN
        //Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
        //{
        //    IDAkun = 7,
        //    Debit = 0,
        //    Kredit = GrandTotal
        //});
    }
Пример #2
0
    private bool TambahJurnal(DataClassesDatabaseDataContext db, PenggunaLogin Pengguna)
    {
        decimal debit1  = (TextBoxNominalDebit.Text).ToDecimal();
        decimal debit2  = (TextBoxNominalDebit2.Text).ToDecimal();
        decimal debit3  = (TextBoxNominalDebit3.Text).ToDecimal();
        decimal debit4  = (TextBoxNominalDebit4.Text).ToDecimal();
        decimal kredit1 = (TextBoxNominalKredit.Text).ToDecimal();
        decimal kredit2 = (TextBoxNominalKredit2.Text).ToDecimal();
        decimal kredit3 = (TextBoxNominalKredit3.Text).ToDecimal();
        decimal kredit4 = (TextBoxNominalKredit4.Text).ToDecimal();


        if ((debit1 + debit2 + debit3 + debit4) != (kredit1 + kredit2 + kredit3 + kredit4))
        {
            LiteralWarning.Text       = "Harap periksa kembali pengisian kolom nominal Anda, karena tidak balance";
            panelLiteralError.Visible = true;
            return(false);
        }
        else
        {
            TBJurnal Jurnal = NewJurnal(Pengguna);
            List <TBJurnalDetail> JurnalDetail = new List <TBJurnalDetail>();

            //DEBIT
            if (DropDownListDebit.SelectedIndex != 0)
            {
                JurnalDetail.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListDebit.SelectedValue).ToInt(),
                    Debit  = (TextBoxNominalDebit.Text).ToDecimal(),
                    Kredit = 0
                });
            }
            if (DropDownListDebit2.SelectedIndex != 0)
            {
                JurnalDetail.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListDebit2.SelectedValue).ToInt(),
                    Debit  = (TextBoxNominalDebit2.Text).ToDecimal(),
                    Kredit = 0
                });
            }
            if (DropDownListDebit3.SelectedIndex != 0)
            {
                JurnalDetail.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListDebit3.SelectedValue).ToInt(),
                    Debit  = (TextBoxNominalDebit3.Text).ToDecimal(),
                    Kredit = 0
                });
            }
            if (DropDownListDebit4.SelectedIndex != 0)
            {
                JurnalDetail.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListDebit4.SelectedValue).ToInt(),
                    Debit  = (TextBoxNominalDebit4.Text).ToDecimal(),
                    Kredit = 0
                });
            }

            //KREDIT
            if (DropDownListKredit.SelectedIndex != 0)
            {
                Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListKredit.SelectedValue).ToInt(),
                    Debit  = 0,
                    Kredit = (TextBoxNominalKredit.Text).ToDecimal(),
                });
            }
            if (DropDownListKredit2.SelectedIndex != 0)
            {
                Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListKredit2.SelectedValue).ToInt(),
                    Debit  = 0,
                    Kredit = (TextBoxNominalKredit2.Text).ToDecimal(),
                });
            }
            if (DropDownListKredit3.SelectedIndex != 0)
            {
                Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListKredit3.SelectedValue).ToInt(),
                    Debit  = 0,
                    Kredit = (TextBoxNominalKredit3.Text).ToDecimal(),
                });
            }
            if (DropDownListKredit4.SelectedIndex != 0)
            {
                Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                {
                    IDAkun = (DropDownListKredit4.SelectedValue).ToInt(),
                    Debit  = 0,
                    Kredit = (TextBoxNominalKredit4.Text).ToDecimal(),
                });
            }

            //if (FileUploadDokumen.HasFile)
            //    Jurnal.TBJurnalDokumens.Add(new TBJurnalDokumen
            //    {
            //        Format = (FileUploadDokumen.HasFile) ? FileUploadDokumen.FileName.Substring(FileUploadDokumen.FileName.LastIndexOf(".")) : ""
            //    });

            Jurnal.TBJurnalDetails.AddRange(JurnalDetail);
            db.TBJurnals.InsertOnSubmit(Jurnal);
            db.SubmitChanges();

            //if (FileUploadDokumen.HasFile)
            //    FileUploadDokumen.SaveAs(Server.MapPath("~/files/Akuntansi/") + Jurnal.TBJurnalDokumens.FirstOrDefault().IDJurnalDokumen + Jurnal.TBJurnalDokumens.FirstOrDefault().Format);

            panelLiteralError.Visible = false;
            return(true);
        }
    }
Пример #3
0
    protected void RepeaterJurnal_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "JurnalPembalik")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin Pengguna           = (PenggunaLogin)Session["PenggunaLogin"];
                Jurnal_Class  Jurnal_Class       = new Jurnal_Class();
                List <int>    DaftarJurnalSerupa = new List <int>();
                var           Jurnal             = Jurnal_Class.Cari(db, e.CommandArgument.ToInt());

                TBJurnal JurnalPembalik = new TBJurnal();

                for (int i = 0; i < Jurnal.TBJurnalDetails.Count; i++)
                {
                    //kalo doi KREDIT, masukin nya DEBIT sebesar KREDIT nya
                    if (Jurnal.TBJurnalDetails[i].Debit == 0)
                    {
                        JurnalPembalik.Tanggal    = Jurnal.Tanggal;
                        JurnalPembalik.Keterangan = "JURNAL PEMBALIK " + "#" + Jurnal.IDJurnal;
                        JurnalPembalik.IDPengguna = Pengguna.IDPengguna;
                        JurnalPembalik.Referensi  = Jurnal.Referensi;

                        JurnalPembalik.TBJurnalDetails.Add(new TBJurnalDetail
                        {
                            IDAkun = Jurnal.TBJurnalDetails[i].IDAkun,
                            Debit  = Jurnal.TBJurnalDetails[i].Kredit,
                            Kredit = 0
                        });
                    }
                    else
                    {
                        JurnalPembalik.Tanggal    = Jurnal.Tanggal;
                        JurnalPembalik.Keterangan = "JURNAL PEMBALIK " + "#" + Jurnal.IDJurnal;
                        JurnalPembalik.IDPengguna = Pengguna.IDPengguna;
                        JurnalPembalik.Referensi  = Jurnal.Referensi;

                        JurnalPembalik.TBJurnalDetails.Add(new TBJurnalDetail
                        {
                            IDAkun = Jurnal.TBJurnalDetails[i].IDAkun,
                            Debit  = 0,
                            Kredit = Jurnal.TBJurnalDetails[i].Debit
                        });
                    }
                }

                db.TBJurnals.InsertOnSubmit(JurnalPembalik);
                db.SubmitChanges();
            }
            LoadData();
        }
        else if (e.CommandName == "CashIn")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var Jurnal = db.TBJurnals.FirstOrDefault(item => item.IDJurnal == int.Parse(e.CommandArgument.ToString()));
                Response.Redirect("Cetak.aspx?do=CashIn" + "&date=" + Jurnal.Tanggal.Value.ToString("d MMMM yyyy") +
                                  "&amount=" + Jurnal.TBJurnalDetails.FirstOrDefault(item => item.Debit > 0).Debit.ToFormatHarga()
                                  + "&description=" + Jurnal.Keterangan);
            }
        }
        else if (e.CommandName == "CashOut")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var Jurnal = db.TBJurnals.FirstOrDefault(item => item.IDJurnal == int.Parse(e.CommandArgument.ToString()));
                Response.Redirect("Cetak.aspx?do=CashOut" + "&date=" + Jurnal.Tanggal.Value.ToString("d MMMM yyyy") +
                                  "&amount=" + Jurnal.TBJurnalDetails.FirstOrDefault(item => item.Kredit > 0).Kredit.ToFormatHarga()
                                  + "&description=" + Jurnal.Keterangan);
            }
        }
    }
Пример #4
0
    protected void ButtonSubmit_Click(object sender, EventArgs e)
    {
        PenggunaLogin          Pengguna              = (PenggunaLogin)Session["PenggunaLogin"];
        List <TBJurnal>        ListJurnal            = new List <TBJurnal>();
        List <TBAkunSaldoAwal> ListAkunSaldoAwal     = new List <TBAkunSaldoAwal>();
        List <string>          ListSaldoAwalSudahAda = new List <string>();

        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            var DataAkun      = db.TBAkuns.ToArray();
            var DataSaldoAwal = db.TBAkunSaldoAwals.Where(item =>
                                                          item.TanggalSaldoAwal.Value.Date == (DropDownListBulan.SelectedItem.Value.ToInt() + "/" + "01" + "/" + DropDownListTahun.Text).ToDateTime() &&
                                                          item.IDTempat == Pengguna.IDTempat);
            LiteralWarning.Text = "";
            peringatan.Visible  = false;

            foreach (RepeaterItem item in RepeaterLaporan.Items)
            {
                TextBox     SaldoAwalAktiva = (TextBox)item.FindControl("TextBoxNominalSaldoAwalAktiva");
                HiddenField IDAkun          = (HiddenField)item.FindControl("HiddenFieldIDAkun");

                if (DataSaldoAwal.FirstOrDefault(data => data.IDAkun == IDAkun.Value.ToInt()) != null && SaldoAwalAktiva.Text.ToDecimal() != 0)
                {
                    peringatan.Visible = true;
                    ListSaldoAwalSudahAda.Add("Saldo Awal " + DataAkun.FirstOrDefault(item2 => item2.IDAkun == IDAkun.Value.ToInt()).Nama + " sudah ada pada system");
                }
                else
                {
                    if ((SaldoAwalAktiva.Text).ToDecimal() > 0)
                    {
                        TBJurnal        Jurnal        = NewJurnal(Pengguna);
                        TBAkunSaldoAwal AkunSaldoAwal = NewAkunSaldoAwal(IDAkun.Value.ToInt(), Pengguna.IDPengguna, ((DropDownListBulan.SelectedItem.Value).ToInt() + "/" + "01" + "/" + DropDownListTahun.Text).ToDateTime(), Pengguna.IDTempat);

                        var Data = db.TBAkuns.FirstOrDefault(item2 => item2.IDAkun == (IDAkun.Value).ToInt());

                        if (Data.TBAkunGrup.EnumSaldoNormal == (int)PilihanDebitKredit.Debit && Data.TBAkunGrup.EnumJenisAkunGrup == (int)PilihanJenisAkunGrup.Aktiva)
                        {
                            Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                            {
                                IDAkun = (IDAkun.Value).ToInt(),
                                Debit  = (SaldoAwalAktiva.Text).ToDecimal(),
                                Kredit = 0
                            });

                            ListJurnal.Add(Jurnal);
                            ListAkunSaldoAwal.Add(AkunSaldoAwal);
                        }
                        else if (Data.TBAkunGrup.EnumSaldoNormal == (int)PilihanDebitKredit.Kredit && Data.TBAkunGrup.EnumJenisAkunGrup == (int)PilihanJenisAkunGrup.Pasiva)
                        {
                            Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                            {
                                IDAkun = (IDAkun.Value).ToInt(),
                                Debit  = 0,
                                Kredit = (SaldoAwalAktiva.Text).ToDecimal()
                            });

                            ListJurnal.Add(Jurnal);
                            ListAkunSaldoAwal.Add(AkunSaldoAwal);
                        }
                        else if (Data.TBAkunGrup.EnumSaldoNormal == (int)PilihanDebitKredit.Kredit && Data.TBAkunGrup.EnumJenisAkunGrup == (int)PilihanJenisAkunGrup.Aktiva)
                        {
                            Jurnal.TBJurnalDetails.Add(new TBJurnalDetail
                            {
                                IDAkun = (IDAkun.Value).ToInt(),
                                Debit  = 0,
                                Kredit = (SaldoAwalAktiva.Text).ToDecimal()
                            });

                            ListJurnal.Add(Jurnal);
                            ListAkunSaldoAwal.Add(AkunSaldoAwal);
                        }
                    }
                }
            }

            for (int i = 0; i < ListSaldoAwalSudahAda.Count; i++)
            {
                LiteralWarning.Text += ListSaldoAwalSudahAda.ElementAt(i).ToString() + "<br/>";
            }

            db.TBAkunSaldoAwals.InsertAllOnSubmit(ListAkunSaldoAwal);
            db.TBJurnals.InsertAllOnSubmit(ListJurnal);
            db.SubmitChanges();
        }
        Response.Redirect("SaldoAwal.aspx");
    }
Пример #5
0
    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");
            }
        }
    }