private bool JournalValidating(enumJournalViewMode mode) { if (_state == enumState.Empty) { SetError(1, "Status DKN kosong"); } if (_errorNo == 0) { if ((_perusahaanDariRowID == _perusahaanKeRowID) && (_cabangDariID == _cabangKeID)) { SetError(3, "Jurnal : Bukan Transaksi DKN"); } } if (_errorNo == 0) { if (_src == "KSR") { SetError(31, "DKN hasil import transaksi Kasir"); } } if (_errorNo == 0) { if ((_journalRowID != null) && (_journalRowID != Guid.Empty)) { SetError(5, "Sudah Pernah dijurnal"); } } _dtDetail = DBGetDetail(_rowID); if (_errorNo == 0) { if (_dtDetail.Rows.Count <= 0) { SetError(2, "DKN tidak mempunyai detail."); } } return(_errorNo == 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); }