Пример #1
0
        public static void AddJournalRetur(DataRow dr)
        {
            using (Database db = new Database())
            {
                string Gudang   = AutoJournal.GetGudangIDByPTRowID(GlobalVar.GetPT.SAP);
                Guid   RowID    = Guid.NewGuid();
                string RecordID = Tools.CreateFingerPrint();
                string Uraian   = string.Format("Journal Nota RJ - {0}", dr["Gudang"].ToString());
                double RpNota   = Convert.ToDouble(dr["RpNota"]);

                db.BeginTransaction();

                int result = Journal.AddHeader(db, GlobalVar.GetPT.SAP, RowID, RecordID, Convert.ToDateTime(dr["TglNota"]), dr["NoNota"].ToString(),
                                               Uraian, "TRD", Gudang, false);
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD header");
                }

                Uraian = string.Format("Piutang {0} - Nota Retur Jual", dr["Gudang"].ToString());
                result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, dr["NoPerkHI"].ToString(),
                                           Uraian, 0, RpNota, "K", Guid.Empty, RpNota
                                           );
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD Detail Kredit");
                }
                DataTable dtDetail = NoPerkRetur((Guid)dr["RowID"]);
                string    NoPerk   = string.Empty;
                foreach (DataRow drd in dtDetail.Rows)
                {
                    Uraian = string.Format("Piutang {0} - Nota Retur Jual {1}", dr["Gudang"].ToString(), drd["KLP"].ToString());
                    NoPerk = Tools.isNull(drd["NoPerkiraan"], "").ToString();
                    RpNota = Convert.ToDouble(drd["RpNota"]);

                    if (NoPerk.Equals(""))
                    {
                        db.RollbackTransaction();
                        throw new Exception("Error ADD Detail Debet, Kelompok " + drd["KLP"].ToString() + " belum ada No Perkiraan");
                    }

                    result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerk,
                                               Uraian, RpNota, 0, "D", Guid.Empty, RpNota
                                               );
                    if (result != 0)
                    {
                        db.RollbackTransaction();
                        throw new Exception("Error ADD Detail Debet");
                    }
                }
                UpdateTrans(db, RowID, (Guid)dr["RowID"], "RET");
                db.CommitTransaction();
            }
        }
Пример #2
0
        public static void AddJournalIden(DataRow dr)
        {
            using (Database db = new Database())
            {
                string Gudang   = AutoJournal.GetGudangIDByPTRowID(GlobalVar.GetPT.SAP);
                Guid   RowID    = Guid.NewGuid();
                string RecordID = Tools.CreateFingerPrint();
                string Uraian   = string.Format("Journal Identifikasi Piutang - {0}", dr["Gudang"].ToString());
                double RpNota   = Convert.ToDouble(dr["Nominal"]);
                RpNota = Math.Abs(RpNota);
                double RpKredit = RpNota;
                double RpDebet  = RpNota;
                db.BeginTransaction();

                int result = Journal.AddHeader(db, GlobalVar.GetPT.SAP, RowID, RecordID, Convert.ToDateTime(dr["TglTrans"]), dr["NoTrans"].ToString(),
                                               Uraian, "TRD", Gudang, false);
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD header");
                }
                string NoPerkD = string.Empty;
                string NoPerkK = string.Empty;
                string UraianD = string.Empty;
                string UraianK = string.Empty;

                NoPerkD = dr["NoperkHI"].ToString();
                NoPerkK = "1103.51.100";
                UraianD = string.Format("{0} ", dr["Uraian"].ToString());
                UraianK = string.Format("{0}  ", dr["Uraian"].ToString());


                result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerkD,
                                           UraianD, RpDebet, 0, "D", Guid.Empty, RpNota
                                           );
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD Detail Debet");
                }
                result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerkK,
                                           UraianK, 0, RpKredit, "K", Guid.Empty, RpNota
                                           );
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD Detail Kredit");
                }
                UpdateTrans(db, RowID, (Guid)dr["RowID"], "KAS");
                db.CommitTransaction();
            }
        }
Пример #3
0
        public static void AddJournalPSL(DataRow dr, bool isSimulate, ref DataTable dtHeader, ref DataTable dtDetail)
        {
            using (Database db = new Database())
            {
                //string Gudang = AutoJournal.GetGudangIDByPTRowID(GlobalVar.GetPT.SAP);
                string Gudang   = AutoJournal.GetGudangIDByPTRowID(GlobalVar.GetPT.OTO);
                Guid   RowID    = Guid.NewGuid();
                string RecordID = Tools.CreateFingerPrint();
                string Uraian   = string.Format("Journal Penyelesaian BS  - {0}", dr["Uraian"].ToString());
                double RpNota   = Convert.ToDouble(dr["Debet"]) + Convert.ToDouble(dr["Kredit"]);
                RpNota = Math.Abs(RpNota);
                double RpKredit = RpNota;
                double RpDebet  = RpNota;
                string Jenis    = dr["No_bukti"].ToString().Substring(4, 3);

                if (isSimulate == true)
                {
                    dtHeader.Rows.Add();
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["RowID"]    = RowID;
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["RecordID"] = RecordID;
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Tanggal"]  = dr["Tanggal"];
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["NoReff"]   = dr["No_bukti"];
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Cbg"]      = Gudang;
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Src"]      = "BS";
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Uraian"]   = Uraian;
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Debet"]    = RpDebet;
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Kredit"]   = RpKredit;
                    dtHeader.Rows[dtHeader.Rows.Count - 1]["Owner"]    = "ALL";

                    db.Commands.Add(db.CreateCommand("usp_Perkiraan_LIST"));
                    db.Commands[0].Parameters.Add(new Parameter("@noPerkiraan", SqlDbType.VarChar, dr["NoPerkiraan"].ToString()));
                    DataTable dttemp = db.Commands[0].ExecuteDataTable();
                    db.Commands.Clear();

                    string NamaPerkiraan = "";
                    if (dttemp.Rows.Count > 0)
                    {
                        NamaPerkiraan = dttemp.Rows[0]["NamaPerkiraan"].ToString();
                    }

                    dtDetail.Rows.Add();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["RowID"]     = Guid.NewGuid();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["HeaderID"]  = RowID;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["RecordID"]  = Tools.CreateFingerPrint();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["HRecordID"] = RecordID;
                    if (Jenis == "BKK")
                    {
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NoPerkiraan"]   = "116099100";
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NamaPerkiraan"] = "UM Lainnya";
                    }
                    else
                    {
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NoPerkiraan"]   = dr["NoPerkiraan"];
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NamaPerkiraan"] = NamaPerkiraan;
                    }
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["Uraian"]   = dr["Uraian"].ToString();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["DK"]       = 'D';
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["Debet"]    = RpDebet;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["Kredit"]   = 0;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["MataUang"] = null;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["NilaiOri"] = RpNota;

                    dtDetail.Rows.Add();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["RowID"]     = Guid.NewGuid();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["HeaderID"]  = RowID;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["RecordID"]  = Tools.CreateFingerPrint();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["HRecordID"] = RecordID;
                    if (Jenis != "BKK")
                    {
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NoPerkiraan"]   = "116099100";
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NamaPerkiraan"] = "UM Lainnya";
                    }
                    else
                    {
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NoPerkiraan"]   = dr["NoPerkiraan"];
                        dtDetail.Rows[dtDetail.Rows.Count - 1]["NamaPerkiraan"] = NamaPerkiraan;
                    }
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["Uraian"]   = dr["Uraian"].ToString();
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["DK"]       = 'K';
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["Debet"]    = 0;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["Kredit"]   = RpKredit;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["MataUang"] = null;
                    dtDetail.Rows[dtDetail.Rows.Count - 1]["NilaiOri"] = RpNota;
                }
                else
                {
                    db.BeginTransaction();

                    int result = Journal.AddHeader(db, GlobalVar.GetPT.OTO, RowID, RecordID, Convert.ToDateTime(dr["Tanggal"]), dr["No_bukti"].ToString(),
                                                   Uraian, "BS", Gudang, false);
                    if (result != 0)
                    {
                        db.RollbackTransaction();
                        throw new Exception("Error ADD header");
                    }
                    string NoPerkD = dr["NoPerkiraan"].ToString();
                    string NoPerkK = "116099100"; // "1160.99.100";
                    string UraianD = dr["Uraian"].ToString();
                    string UraianK = dr["Uraian"].ToString();
                    //string UraianK = "UM Lainnya "; //sebelumnya

                    if (dr["DKR"].ToString() == "K")
                    {
                        NoPerkK = dr["NoPerkiraan"].ToString();
                        NoPerkD = "116099100"; // "1160.99.100";
                        UraianK = dr["Uraian"].ToString();
                        UraianD = dr["Uraian"].ToString();
                        //      UraianD = "UM Lainnya "; //sebelumnya
                    }


                    result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerkD,
                                               UraianD, RpDebet, 0, "D", Guid.Empty, RpNota
                                               );
                    if (result != 0)
                    {
                        db.RollbackTransaction();
                        throw new Exception("Error ADD Detail Debet");
                    }
                    result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerkK,
                                               UraianK, 0, RpKredit, "K", Guid.Empty, RpNota
                                               );
                    if (result != 0)
                    {
                        db.RollbackTransaction();
                        throw new Exception("Error ADD Detail Kredit");
                    }
                    UpdateTrans(db, RowID, (Guid)dr["RowID"], "PSL");
                    db.CommitTransaction();
                }
            }
        }
Пример #4
0
        public static void AddJournalKRJ(DataRow dr)
        {
            using (Database db = new Database())
            {
                string Gudang   = AutoJournal.GetGudangIDByPTRowID(GlobalVar.GetPT.SAP);
                Guid   RowID    = Guid.NewGuid();
                string RecordID = Tools.CreateFingerPrint();
                string Uraian   = string.Format("Journal Koreksi Retur Penjualan - {0}", dr["Gudang"].ToString());
                double RpNota   = Convert.ToDouble(dr["RpKoreksi"]);
                RpNota = Math.Abs(RpNota);
                double RpKredit = RpNota;
                double RpDebet  = RpNota;
                db.BeginTransaction();

                int result = Journal.AddHeader(db, GlobalVar.GetPT.SAP, RowID, RecordID, Convert.ToDateTime(dr["TglKoreksi"]), dr["NoKoreksi"].ToString(),
                                               Uraian, "TRD", Gudang, false);
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD header");
                }
                string NoPerkD = string.Empty;
                string NoPerkK = string.Empty;
                string UraianD = string.Empty;
                string UraianK = string.Empty;
                if (dr["DKR"].ToString() == "D")
                {
                    NoPerkD = dr["NoperkHI"].ToString();
                    NoPerkK = dr["NoPerkiraan"].ToString();
                    UraianD = string.Format("Piutang {0} - Koreksi Retur Penjualan ", dr["Gudang"].ToString());
                    UraianK = string.Format("Piutang {0} - Koreksi Retur Penjualan {1}", dr["Gudang"].ToString(), dr["KLP"].ToString());
                }
                else
                {
                    NoPerkD = dr["NoPerkiraan"].ToString();
                    NoPerkK = dr["NoperkHI"].ToString();
                    UraianD = string.Format("Piutang {0} - Koreksi Retur Penjualan {1}", dr["Gudang"].ToString(), dr["KLP"].ToString());
                    UraianK = string.Format("Piutang {0} - Koreksi Retur Penjualan ", dr["Gudang"].ToString());
                }


                result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerkD,
                                           UraianD, RpDebet, 0, "D", Guid.Empty, RpNota
                                           );
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD Detail Debet");
                }
                result = Journal.AddDetail(db, Guid.NewGuid(), RowID, Tools.CreateFingerPrint(), RecordID, NoPerkK,
                                           Uraian, 0, RpKredit, "K", Guid.Empty, RpNota
                                           );
                if (result != 0)
                {
                    db.RollbackTransaction();
                    throw new Exception("Error ADD Detail Kredit");
                }


                UpdateTrans(db, RowID, (Guid)dr["RowID"], "KRJ");
                db.CommitTransaction();
            }
        }
Пример #5
0
        private int DBGetByRowID(Guid t_rowID)
        {
            SetError(0, "Ok");
            if ((t_rowID == null) || (t_rowID == Guid.Empty))
            {
                SetError(1, "ID DKN kosong");
            }
            if (_errorNo == 0)
            {
                try
                {
                    using (Database db = new Database())
                    {
                        db.Commands.Add(db.CreateCommand("usp_HubunganIstimewa_LIST"));
                        db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, t_rowID));
                        DataTable dt = db.Commands[0].ExecuteDataTable();
                        if (dt.Rows.Count > 0)
                        {
                            DataRow dr = dt.Rows[0];
                            RowID = (Guid)Tools.isNull(dr["RowID"], Guid.Empty);
                            if (RowID != Guid.Empty)
                            {
                                _noBukti             = Tools.isNull(dr["NoBukti"], "").ToString();
                                _groupRowID          = (Guid)Tools.isNull(dr["GroupRowID"], Guid.Empty);
                                _isGroup             = (_groupRowID == Guid.Empty);
                                _tanggal             = (DateTime)Tools.isNull(dr["Tanggal"], DateTime.MinValue);
                                _tipeNota            = (enumTipeNota)int.Parse(Tools.isNull(dr["TipeNota"], "0").ToString());
                                _perusahaanDariRowID = (Guid)Tools.isNull(dr["PerusahaanDariRowID"], Guid.Empty);
                                _perusahaanKeRowID   = (Guid)Tools.isNull(dr["PerusahaanKeRowID"], Guid.Empty);
                                _cabangDariID        = Tools.isNull(dr["CabangDariID"], "").ToString();
                                _cabangKeID          = Tools.isNull(dr["CabangKeID"], "").ToString();
                                _gudangID            = AutoJournal.GetGudangIDByPTRowID(_perusahaanDariRowID);
                                _lingkupNota         = (_perusahaanDariRowID == _perusahaanKeRowID) ? enumLingkupNota.AntarCabang : enumLingkupNota.AntarPT;
                                //_noPerkiraan = DBGetNoPerkiraan();
                                _isPosted     = (bool)Tools.isNull(dr["IsPosted"], false);
                                _journalRowID = (Guid)Tools.isNull(dr["JournalRowID"], Guid.Empty);
                                if (_journalRowID != Guid.Empty)
                                {
                                    _isPosted = true;
                                }
                                _mataUangRowID = (Guid)Tools.isNull(dr["MataUangRowID"], Guid.Empty);
                                //if (Kodomain)
                                //{
                                //    _journalRowID2 = (Guid)Tools.isNull(dr["JournalRowID2"], Guid.Empty);
                                //    _journalStatus = ((_journalRowID2 != Guid.Empty)) ? enumJournalStatus.SudahJournal : enumJournalStatus.BelumJournal;
                                //}
                                //else
                                //{
                                _journalStatus = ((_isPosted) || (_journalRowID != Guid.Empty)) ? enumJournalStatus.SudahJournal : enumJournalStatus.BelumJournal;
                                //}

                                _src      = Tools.isNull(dr["Src"], "").ToString();
                                BranchTo  = Tools.isNull(dr["BranchTo"], "").ToString();
                                CompanyTo = (Guid)Tools.isNull(dr["CompanyTo"], Guid.Empty);
                            }
                        }

                        if (_groupRowID == Guid.Empty)
                        {
                            db.Commands.Clear();
                            db.Commands.Add(db.CreateCommand("usp_HubunganIstimewa_LIST_FILTER_Group"));
                            db.Commands[0].Parameters.Add(new Parameter("@GroupRowID", SqlDbType.UniqueIdentifier, _rowID));
                            dt = db.Commands[0].ExecuteDataTable();
                            if (dt.Rows.Count > 0)
                            {
                                foreach (DataRow dr in dt.Rows)
                                {
                                    Guid drowID = (Guid)Tools.isNull(dr["RowID"], Guid.Empty);
                                    if (drowID != Guid.Empty)
                                    {
                                        DKNChilds.Add(new clsDKN(drowID, _noBukti));
                                    }
                                }
                            }
                            _isGroup = (DKNChilds.Count > 0);
                        }
                    }
                }
                catch (Exception ex)
                {
                    string s = ex.Message;
                    SetError(2, "(DBGetByRowID) \n" + ex.Message);
                }
            }
            return(_errorNo);
        }
Пример #6
0
        private int DBGetByRowID(Guid t_rowID)
        {
            int nresult = 0;

            if ((t_rowID == null) || (t_rowID == Guid.Empty))
            {
                nresult = 1;
            }
            else
            {
                try
                {
                    using (Database db = new Database())
                    {
                        db.Commands.Add(db.CreateCommand("usp_PengeluaranUang_LIST"));
                        db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, t_rowID));
                        DataTable dt = db.Commands[0].ExecuteDataTable();
                        if (dt.Rows.Count > 0)
                        {
                            DataRow dr = dt.Rows[0];
                            _dr    = dr;
                            _rowID = t_rowID;
                            _perusahaanDariRowID = (Guid)dr["PerusahaanDariRowID"];
                            _perusahaanKeRowID   = (Convert.IsDBNull(dr["PerusahaanKeRowID"]) ? Guid.Empty : (Guid)dr["PerusahaanKeRowID"]);
                            _noBukti             = dr["NoBukti"].ToString();
                            _tanggal             = (Convert.IsDBNull(dr["Tanggal"])) ? DateTime.MinValue : (DateTime)dr["Tanggal"];
                            _dueDateGiro         = (Convert.IsDBNull(dr["DueDateGiro"])) ? DateTime.MinValue : (DateTime)dr["DueDateGiro"];
                            _cabangDariID        = dr["CabangDariID"].ToString();
                            _cabangKeID          = (Convert.IsDBNull(dr["CabangkeID"]) ? "" : dr["CabangKeID"].ToString());
                            _cabangOriID         = (Convert.IsDBNull(dr["CabangIDOri"]) ? _cabangKeID : dr["CabangIDOri"].ToString());
                            _gudangID            = AutoJournal.GetGudangIDByPTRowID(_perusahaanDariRowID);
                            _uraian         = (Convert.IsDBNull(dr["Uraian"]) ? "" : dr["Uraian"].ToString());
                            _jnsPengeluaran = dr["JnsPengeluaran"].ToString();
                            //                            _jnsTransaksiRowID = dr["JnsTransaksiRowID"];
                            _pengeluaranKe = Convert.IsDBNull(dr["PengeluaranKe"]) ? 0 : int.Parse(dr["PengeluaranKe"].ToString());
                            _noPerkiraan01 = dr["NoPerkiraan01"].ToString();
                            _nominal       = (Convert.IsDBNull(dr["Nominal"])) ? 0 : double.Parse(dr["Nominal"].ToString());
                            _nominalRp     = (Convert.IsDBNull(dr["NominalRp"])) ? _nominal : double.Parse(dr["NominalRp"].ToString());
                            if (_nominalRp == 0)
                            {
                                _nominalRp = _nominal;
                            }
                            _statusApproval = (GlobalVar.enumStatusApproval)dr.Field <byte>("StatusApproval");
                            _kasRowID       = (Guid)Tools.isNull(dr["KasRowID"], Guid.Empty);
                            _rekeningRowID  = (Guid)Tools.isNull(dr["RekeningRowID"], Guid.Empty);
                            _journalRowID   = (Guid)Tools.isNull(dr["JournalRowID"], Guid.Empty);
                            _mataUangRowID  = (Guid)Tools.isNull(dr["MataUangRowID"], Guid.Empty);
                            _jnsTransaksi   = (Guid)Tools.isNull(dr["JnsTransaksiRowID"], Guid.Empty);
                            _unitusaha      = dr["UnitUsaha"].ToString();
                            if ((_perusahaanKeRowID == Guid.Empty) || (_cabangKeID != _cabangOriID))
                            {
                                GetPerusahaanKeRowID();
                            }
                            SetNoPerkiraan01();
                            SetNoPerkiraan02();
                            if ((_perusahaanKeRowID != null) && (_perusahaanKeRowID != Guid.Empty) && (_perusahaanKeRowID != _perusahaanDariRowID))
                            {
                                SetNoPerkiraan03();
                                SetNoPerkiraan04();

                                if (!GlobalVar.IsNewDNKN && (_jnsTransaksi != GlobalVar.GetTransaksi.PLL || _jnsTransaksi != GlobalVar.GetTransaksi.HLL))
                                {
                                    _journal2 = true;
                                }
                            }
                            else
                            {
                                _journal2 = false;
                            }
                            _state = enumState.Update;
                        }
                        else
                        {
                            nresult = 2;
                        }
                    }
                }
                catch (Exception ex)
                {
                    nresult = 3;
                    string s = ex.Message;
                }
            }
            if (nresult != 0)
            {
                Kosongkan();
            }
            return(nresult);
        }