Пример #1
0
        private void SetNoPerkiraan01()
        {
            switch (_pengeluaranKe)
            {
            case 0:
                _noPerkiraan01 = AutoJournal.GetPerkiraanDKNCabang(_cabangKeID);
                break;

            case 1: break;

            case 2:
                if (_perusahaanDariRowID != _perusahaanKeRowID)
                {
                    if (!GlobalVar.IsNewDNKN)
                    {
                        _noPerkiraan01 = AutoJournal.GetPerkiraanDKNPT(_perusahaanDariRowID, _perusahaanKeRowID);
                    }
                    else
                    {
                        if (_jnsTransaksi == GlobalVar.GetTransaksi.HLL)
                        {
                            _noPerkiraan01 = AutoJournal.GetPerkiraanDKNPT_HLL(_perusahaanKeRowID);
                        }
                        else if (_jnsTransaksi == GlobalVar.GetTransaksi.PLL)
                        {
                            _noPerkiraan01 = AutoJournal.GetPerkiraanDKNPT_PLL(_perusahaanKeRowID);
                        }
                        else
                        {
                            _noPerkiraan01 = AutoJournal.GetPerkiraanNewDKNPT(_perusahaanDariRowID, _perusahaanKeRowID);
                        }
                    }
                }

                break;

            default: break;
            }
        }
Пример #2
0
        public List <clsJournal> GetGLJournal(enumJournalViewMode mode)
        {
            List <clsJournal> _j = new List <clsJournal>();
            clsJournal        jh;
            clsJournalDetail  jd;

            _isPosted = false;

            if (JournalValidating(mode))
            {
                string l_cabangHO = clsPerusahaan.DBGetInitCabang(_perusahaanDariRowID);
                string l_noperk1, l_noperk2, l_uraian, l_dk1, l_dk2;
                double l_nominalRp, l_nominalOri;
                //double l_totalRp = 0;
                //double l_totalOri = 0;
                Guid          l_mataUangRowID;
                clsPerusahaan _hts = new clsPerusahaan("HTS");

                #region Journal #1
                // Insert Header#1 :
                jh = new clsJournal(_perusahaanDariRowID, _tanggal, _noBukti, "Journal DKN ", "DKN", _gudangID);

                // Insert Detail#1 di Header#1 :
                // Case : 1. CabangDari = CabangHO --> getPerkiraanDetal
                //        2. getPerkiraanDKNCabangDari
                if (CompanyTo == Guid.Empty)
                {
                    l_noperk1 = AutoJournal.GetPerkiraanDKNCabang(_cabangDariID);
                    l_noperk2 = (_perusahaanDariRowID == _perusahaanKeRowID) ?
                                AutoJournal.GetPerkiraanDKNCabang(_cabangKeID) :
                                ((_perusahaanDariRowID == _hts.RowID) ? AutoJournal.GetPerkiraanDKNHTS(_perusahaanKeRowID)
                                : AutoJournal.GetPerkiraanDKNPT(_perusahaanKeRowID));
                    l_dk1 = (_tipeNota == 0) ? "K" : "D";
                    l_dk2 = (_tipeNota == 0) ? "D" : "K";

                    foreach (DataRow dr in _dtDetail.Rows)
                    {
                        if (_cabangDariID == l_cabangHO)
                        {
                            l_noperk1 = dr["NoPerkiraan"].ToString();
                        }
                        l_uraian     = dr["Uraian"].ToString();
                        l_nominalRp  = double.Parse(Tools.isNull(dr["Nominal"], "0").ToString());
                        l_nominalOri = double.Parse(Tools.isNull(dr["NominalRp"], "0").ToString());
                        if (l_nominalRp == 0)
                        {
                            l_nominalRp = l_nominalOri;
                        }
                        l_mataUangRowID = (Guid)Tools.isNull(dr["MataUangRowID"], Guid.Empty);

                        //--> case 1 : jika cabangdari = cabangHO, bikin detilnya di sini
                        //                    if (_cabangDariID == l_cabangHO)
                        //                    {
                        jd = new clsJournalDetail(jh.RowID, l_noperk1, l_uraian, l_dk1, l_nominalRp,
                                                  l_mataUangRowID, l_nominalOri, _noBukti);
                        jh.AddDetail(jd);
                        //                    }
                        jd = new clsJournalDetail(jh.RowID, l_noperk2, l_uraian, l_dk2, l_nominalRp,
                                                  l_mataUangRowID, l_nominalOri, _noBukti);
                        jh.AddDetail(jd);

                        //l_totalRp = l_totalRp + l_nominalRp;
                        //l_totalOri = l_totalOri + l_nominalOri;
                    }
                }
                else
                {
                    //1
                    if (_tipeNota != 0)
                    {
                        l_dk1 = (_tipeNota == 0) ? "K" : "D"; //D
                        l_dk2 = (_tipeNota == 0) ? "D" : "K"; //K
                        //D
                        l_noperk1 = AutoJournal.GetPerkiraanDKNPT_PLL(CompanyTo);
                        //K
                        l_noperk2 = AutoJournal.GetPerkiraanDKNCabang(_cabangKeID);
                    }
                    else//0
                    {
                        l_dk2 = (_tipeNota == 0) ? "K" : "D"; //K
                        l_dk1 = (_tipeNota == 0) ? "D" : "K"; //D

                        l_noperk1 = AutoJournal.GetPerkiraanDKNCabang(_cabangKeID);
                        l_noperk2 = AutoJournal.GetPerkiraanDKNPT_HLL(CompanyTo);
                    }

                    foreach (DataRow dr in _dtDetail.Rows)
                    {
                        // if (_cabangDariID == l_cabangHO) l_noperk1 = dr["NoPerkiraan"].ToString();
                        l_uraian     = dr["Uraian"].ToString();
                        l_nominalRp  = double.Parse(Tools.isNull(dr["Nominal"], "0").ToString());
                        l_nominalOri = double.Parse(Tools.isNull(dr["NominalRp"], "0").ToString());
                        if (l_nominalRp == 0)
                        {
                            l_nominalRp = l_nominalOri;
                        }
                        l_mataUangRowID = (Guid)Tools.isNull(dr["MataUangRowID"], Guid.Empty);

                        //--> case 1 : jika cabangdari = cabangHO, bikin detilnya di sini
                        //                    if (_cabangDariID == l_cabangHO)
                        //                    {
                        jd = new clsJournalDetail(jh.RowID, l_noperk1, l_uraian, l_dk1, l_nominalRp,
                                                  l_mataUangRowID, l_nominalOri, _noBukti);
                        jh.AddDetail(jd);
                        //                    }
                        jd = new clsJournalDetail(jh.RowID, l_noperk2, l_uraian, l_dk2, l_nominalRp,
                                                  l_mataUangRowID, l_nominalOri, _noBukti);
                        jh.AddDetail(jd);

                        //l_totalRp = l_totalRp + l_nominalRp;
                        //l_totalOri = l_totalOri + l_nominalOri;
                    }
                }


                /*
                 *              // --> lha klu yang ini case 2 : klu cabangdari gak sama cabangHO, nambah detilnya di sini
                 *              // \m/ --> klu di YM, nongol smiley-icon metalll !!!!!
                 *              if (_cabangDariID != l_cabangHO)
                 *              {
                 *                  l_noperk = AutoJournal.GetPerkiraanDKNCabang(_cabangDariID);
                 *                  jd = new clsJournalDetail(jh.RowID, l_noperk, "HI Cabang " + _cabangDariID, l_dk, l_totalRp, _mataUangRowID, l_totalOri, _noBukti);
                 *                  jh.AddDetail(jd);
                 *              }
                 *
                 *              // Insert Detail#2 di Header#1 :
                 *              // Case : 1. PerusahaanDari = PerusahaanKe --> getPerkiraanDKNPTKe
                 *              //        2. getPerkiraanCabangKe
                 *              l_dk = (_tipeNota == 0) ? "D" : "K";
                 *              l_noperk = (_perusahaanDariRowID == _perusahaanKeRowID) ? AutoJournal.GetPerkiraanDKNCabang(_cabangKeID) : AutoJournal.GetPerkiraanDKNPT(_perusahaanKeRowID);
                 *              jd = new clsJournalDetail(jh.RowID, l_noperk, "Journal DKN", l_dk, l_totalRp, _mataUangRowID, l_totalOri, _noBukti);
                 *              jh.AddDetail(jd);
                 */
                _j.Add(jh);

                #endregion

                #region Journal #2
                // Insert Header#2 (Jika Beda PT) :
                if ((_perusahaanDariRowID != _perusahaanKeRowID))
                {
                    if (CompanyTo == Guid.Empty)
                    {
                        jh = new clsJournal(_perusahaanKeRowID, _tanggal, _noBukti, "Journal DKN", "DKN",
                                            clsPerusahaan.DBGetInitGudang(_perusahaanKeRowID));

                        l_dk1 = (_tipeNota == 0) ? "K" : "D";
                        l_dk2 = (_tipeNota == 0) ? "D" : "K";

                        l_noperk1  = (_perusahaanKeRowID == _hts.RowID) ? AutoJournal.GetPerkiraanDKNHTS(_perusahaanDariRowID) : AutoJournal.GetPerkiraanDKNPT(_perusahaanDariRowID);
                        l_noperk2  = AutoJournal.GetPerkiraanDKNCabang(_cabangKeID);
                        l_cabangHO = clsPerusahaan.DBGetInitCabang(_perusahaanKeRowID);
                        // Insert Detail#1 di Header#2 : getPerkiraanDKNPTDari
                        //jd = new clsJournalDetail(jh.RowID, AutoJournal.GetPerkiraanDKNPT(_perusahaanDariRowID),
                        //                    "Journal DKN", ((_tipeNota == 0) ? "K" : "D"), l_totalRp, _mataUangRowID,
                        //                    l_totalOri, _noBukti);
                        //jh.AddDetail(jd);

                        // Insert Detail#2 di Header#2 :
                        // case 1. cabangKe = cabangHOKe -> getPerkiraanDetail
                        //      2. getPerkiraanDKNCabangKe
                        //                    if (_cabangKeID == clsPerusahaan.DBGetInitCabang(_perusahaanKeRowID))
                        foreach (DataRow dr in _dtDetail.Rows)
                        {
                            if (_cabangKeID == l_cabangHO)
                            {
                                l_noperk2 = dr["NoPerkiraan"].ToString();
                            }
                            l_uraian     = dr["Uraian"].ToString();
                            l_nominalRp  = double.Parse(Tools.isNull(dr["Nominal"], "0").ToString());
                            l_nominalOri = double.Parse(Tools.isNull(dr["NominalRp"], "0").ToString());
                            if (l_nominalRp == 0)
                            {
                                l_nominalRp = l_nominalOri;
                            }
                            l_mataUangRowID = (Guid)Tools.isNull(dr["MataUangRowID"], Guid.Empty);

                            jd = new clsJournalDetail(jh.RowID, l_noperk1, l_uraian, l_dk1, l_nominalRp,
                                                      l_mataUangRowID, l_nominalOri, _noBukti);
                            jh.AddDetail(jd);

                            jd = new clsJournalDetail(jh.RowID, l_noperk2, l_uraian, l_dk2, l_nominalRp,
                                                      l_mataUangRowID, l_nominalOri, _noBukti);
                            jh.AddDetail(jd);
                        }

                        /*
                         *                  else
                         *                  {
                         *                      jd = new clsJournalDetail(jh.RowID, AutoJournal.GetPerkiraanDKNCabang(_cabangKeID),
                         *                                          "Journal DKN", ((_tipeNota == 0) ? "D" : "K"), l_totalRp, _mataUangRowID,
                         *                                          l_totalOri, _noBukti);
                         *                      jh.AddDetail(jd);
                         *                  }
                         */
                        _j.Add(jh);
                    }
                    else
                    {
                        /*
                         *                  else
                         *                  {
                         *                      jd = new clsJournalDetail(jh.RowID, AutoJournal.GetPerkiraanDKNCabang(_cabangKeID),
                         *                                          "Journal DKN", ((_tipeNota == 0) ? "D" : "K"), l_totalRp, _mataUangRowID,
                         *                                          l_totalOri, _noBukti);
                         *                      jh.AddDetail(jd);
                         *                  }
                         */
                        _j.Add(jh);
                    }
                }
                #endregion
            }
            else
            {
                if (_errorNo == 5)
                {
                    _isPosted = true;
                    if (DKNChilds.Count > 0)
                    {
                        foreach (clsDKN d in DKNChilds)
                        {
                            jh = new clsJournal(d._journalRowID);
                            SetError(jh.ErrNo, jh.ErrMsg);
                            if (jh.ErrNo == 0)
                            {
                                if (_j.Find(delegate(clsJournal j) { return(j.RowID == jh.RowID); }) == null)
                                {
                                    _j.Add(jh);
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        if ((Guid)Tools.isNull(_journalRowID, Guid.Empty) != Guid.Empty)
                        {
                            jh = new clsJournal(_journalRowID);
                            SetError(jh.ErrNo, jh.ErrMsg);
                            if (jh.ErrNo == 0)
                            {
                                _j.Add(jh);
                            }
                        }
                    }
                }
            }
            return(_j);
        }
Пример #3
0
 private void SetNoPerkiraan04()
 {
     _noPerkiraan04 = "";
     if ((_perusahaanKeRowID != null) && (_perusahaanKeRowID != Guid.Empty) && (_perusahaanDariRowID != _perusahaanKeRowID))
     {
         if (!GlobalVar.IsNewDNKN)
         {
             // antar PT
             _noPerkiraan04 = AutoJournal.GetPerkiraanDKNPT(_perusahaanKeRowID, _perusahaanDariRowID);
         }
         else
         {
             _noPerkiraan04 = _jnsTransaksi.Equals(GlobalVar.GetTransaksi.HLL) ? AutoJournal.GetPerkiraanDKNPT_HLL(_perusahaanDariRowID) :
                              AutoJournal.GetPerkiraanNewDKNPT(_perusahaanKeRowID, _perusahaanDariRowID);
         }
     }
 }
Пример #4
0
        private void SetNoPerkiraan03()
        {
            _noPerkiraan03 = "";
            if (!string.IsNullOrEmpty(_cabangOriID) && (_cabangOriID != _cabangKeID))
            {
                // beda cabang lintas pt
                _noPerkiraan03 = AutoJournal.GetPerkiraanDKNCabang(_cabangOriID);
            }
            else if ((_perusahaanKeRowID != null) && (_perusahaanKeRowID != Guid.Empty) && (_perusahaanDariRowID != _perusahaanKeRowID))
            {
                // antar PT
                // klu trx pengeluaran cuma 1 record, musti dicari cabang HO penerima
                if (!GlobalVar.IsNewDNKN)//
                {
                    if (string.IsNullOrEmpty(_cabangOriID) || (_cabangKeID == _cabangOriID))
                    {
                        // klu trx pengeluaran cuma 1 record, gak perlu nyari trx penerimaan-nya ...
                        List <Parameter> prm = new List <Parameter>();
                        prm.Add(new Parameter("@GroupRowID", SqlDbType.UniqueIdentifier, _rowID));
                        DataTable dt = Tools.DBGetDataTable("usp_PenerimaanUang_LIST_FILTER_Group", prm);
                        if (dt.Rows.Count > 0)
                        {
                            string _jnsPenerimaan = Tools.isNull(dt.Rows[0]["JnsPenerimaan"], "").ToString();
                            switch (_jnsPenerimaan)
                            {
                            case "K":
                            {
                                Guid _kasTrmRowID = (Guid)Tools.isNull(dt.Rows[0]["KasRowID"], Guid.Empty);
                                _noPerkiraan03 = AutoJournal.GetPerkiraanKas(_kasTrmRowID);
                            } break;

                            case "B":
                            {
                                Guid _rekRowID = (Guid)Tools.isNull(dt.Rows[0]["RekeningRowID"], Guid.Empty);
                                _noPerkiraan03 = AutoJournal.GetPerkiraanRekening(_rekRowID);
                            } break;

                            default: break;
                            }
                        }
                    }
                    else
                    {
                        _noPerkiraan03 = AutoJournal.GetPerkiraanDKNPT(_perusahaanKeRowID, _perusahaanDariRowID);
                    }
                }
                else // DKN baru
                {
                    if (string.IsNullOrEmpty(_cabangOriID) || (_cabangKeID == _cabangOriID))
                    {
                        // klu trx pengeluaran cuma 1 record, gak perlu nyari trx penerimaan-nya ...
                        List <Parameter> prm = new List <Parameter>();
                        prm.Add(new Parameter("@GroupRowID", SqlDbType.UniqueIdentifier, _rowID));
                        DataTable dt = Tools.DBGetDataTable("usp_PenerimaanUang_LIST_FILTER_Group", prm);
                        if (dt.Rows.Count > 0)
                        {
                            string _jnsPenerimaan = Tools.isNull(dt.Rows[0]["JnsPenerimaan"], "").ToString();
                            switch (_jnsPenerimaan)
                            {
                            case "K":
                            {
                                Guid _kasTrmRowID = (Guid)Tools.isNull(dt.Rows[0]["KasRowID"], Guid.Empty);
                                _noPerkiraan03 = AutoJournal.GetPerkiraanKas(_kasTrmRowID);
                            } break;

                            case "B":
                            {
                                Guid _rekRowID = (Guid)Tools.isNull(dt.Rows[0]["RekeningRowID"], Guid.Empty);
                                _noPerkiraan03 = AutoJournal.GetPerkiraanRekening(_rekRowID);
                            } break;

                            default: break;
                            }
                        }
                    }
                    else
                    {
                        _noPerkiraan03 =
                            _jnsTransaksi.Equals(GlobalVar.GetTransaksi.HLL) ? AutoJournal.GetPerkiraanDKNPT_HLL(_perusahaanDariRowID) :
                            AutoJournal.GetPerkiraanNewDKNPT(_perusahaanKeRowID, _perusahaanDariRowID);
                    }
                }
            }
        }