private void Prc_Fill_DgrStatus() { string _query; _query = @"SELECT decode(a.id_name, 'Null', 'Y', b.status) status, a.id_name status_name, b.where_log, b.err_code FROM tb_lst_stacqt a, ( SELECT c.pck, c.status, d.tax_model, c.where_log, c.err_code FROM tb_log_pck c, tb_lst_taxo d WHERE c.short_name = d.short_name AND c.ltd = 0 AND c.short_name = '" + v_short_name + @"') b WHERE a.func_name = b.pck(+) AND EXISTS ( SELECT 1 FROM tb_lst_taxo c WHERE c.short_name = '" + v_short_name + @"' AND (c.tax_model = a.tax_model or a.tax_model = '*')) ORDER BY a.stt"; DataTable _dt = _ora.exeQuery(_query); for (int i = 0; i < _dt.Rows.Count; i++) { DataRow _dr = _dt.Rows[i]; ListViewItem lvi = new ListViewItem(_dr["status_name"].ToString()); lvi.SubItems.Add(_dr["status"].ToString()); lvi.SubItems.Add(_dr["where_log"].ToString()); lvi.SubItems.Add(_dr["err_code"].ToString()); this.lvwLog.Items.Add(lvi); } _dt = null; }
private void importFileExcelToolStripMenuItem_Click(object sender, EventArgs e) { using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { string _query = @"SELECT * FROM tb_01_para a WHERE a.rv_group = 'JAVA' ORDER BY a.id"; DataTable _dt = _ora.exeQuery(_query); string cmd = _dt.Rows[0]["rv_chr"].ToString(); string cmdParams = _dt.Rows[1]["rv_chr"].ToString(); string workingDirectory = _dt.Rows[2]["rv_chr"].ToString(); int timeout = Int32.Parse(_dt.Rows[3]["rv_chr"].ToString()); using (Process process = Process.Start(new ProcessStartInfo(cmd, cmdParams))) { process.StartInfo.WorkingDirectory = workingDirectory; process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process.Start(); process.StandardOutput.ReadToEnd(); process.WaitForExit(timeout); } } }
//test check out //TienTM2 : Get parameter of Target Server public static void Prc_Targetes_Server_Parameter(ref string target_username, ref string target_password) { // using (CLS_DBASE.ORA _connOra_cndm = new CLS_DBASE.ORA("Provider=msdaora;Data Source=DPPIT;User Id=TKTQ;Password=TKTQ;")) using (CLS_DBASE.ORA _connOra_ptsp = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { string _query = ""; //Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "Prc_Targetes_Server_Parameter"; // Biến lưu số bản ghi dữ liệu phát sinh tháng //int _rowsnum = 0; ArrayList parameter = new ArrayList(); #region Server Parameter try { _query = @"SELECT rv_key, rv_chr FROM tb_01_para where rv_group ='TARGETES'"; DataTable _dt = _connOra_ptsp.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { target_username = _dr["rv_key"].ToString().Trim(); target_password = _dr["rv_chr"].ToString().Trim(); } } catch (Exception e) { //return -1; MessageBox.Show(e.Message); } #endregion } }
public static void Fnc_doc_file_thang(string p_short_name, string p_tax_name, string p_tax_code, string p_path, DirectoryInfo p_dir_source, DateTime p_ky_chot, DateTime p_ky, Forms.Frm_QLCD p_frm_qlcd ) { using (CLS_DBASE.ORA _connOra_tkmb = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQVATW)) { string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_CCTT"; int _rowsnum = 0; string _File_Nghi = "Nghi" + p_ky.ToString("yyyy") + ".DBF"; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; string _search_pattern = "TK" + p_ky.ToString("MMyyyy") + ".DBF"; // Đối tượng lưu trữ danh sách các file dữ liệu tờ khai môn bài ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu tờ khai môn bài _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { if (_file.Name.Length != 12) { continue; } _query = @"SELECT a.madtnt as tin, a.kykkhai, max(a.NgNop) as NgNop, max(a.HanNop) as HanNop, a.kylbo, a.MaTM as MaTM, sum(a.thuecl) as so_tien FROM {0} a INNER JOIN DTNT2.DBF as c ON a.madtnt = c.madtnt WHERE a.TThTK$'1' AND allt(a.MaTKHAI) = '4Q/GTGTKH' and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay)) GROUP BY a.madtnt, a.kykkhai, a.kylbo, a.MaTM"; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{3}", _File_Nghi); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { #region Xác định mã đối tượng người nộp thuế string _tin = _dr["tin"].ToString().Trim(); string matin = _dr["tin"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = _query.Replace("{4}", matin); #endregion #region Xác định kỳ phát sinh của đối tượng nộp thuế // Biến lưu trữ kỳ kê khai lấy từ file dữ liệu string _ky_kkhai = _dr["KyKKhai"].ToString().Replace("/", "").Trim(); if (_ky_kkhai.Length != 5) { _ky_kkhai = (((p_ky_chot.Month - 1) / 3) + 1).ToString("D") + p_ky_chot.ToString("yyyy"); } // Ngày bắt đầu kỳ phát sinh DateTime _kykk_tu_ngay; // Ngày kết thúc kỳ phát sinh DateTime _kykk_den_ngay; int _quy_ky_kkhai; int _nam_ky_kkhai; _quy_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(0, 1)); _nam_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(1, 4)); if (_quy_ky_kkhai == 1) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 1, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 3, 31); } else if (_quy_ky_kkhai == 2) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 4, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 6, 30); } else if (_quy_ky_kkhai == 3) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 7, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 9, 30); } else if (_quy_ky_kkhai == 4) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 10, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 12, 31); } else { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + new InvalidDataException("Quý không hợp lệ").Message); continue; } #endregion #region Lấy số ID tự tăng trong CSDL trung gian _query = @"select seq_id_csv.nextval ID from dual"; DataTable _dt_ID = _connOra_tkmb.exeQuery(_query); string _ID = _dt_ID.Rows[0]["ID"].ToString().Trim(); #endregion string _NgNop = ((DateTime)_dr["NgNop"]).ToString("dd/MM/yyyy").Trim(); string _HanNop = ((DateTime)_dr["HanNop"]).ToString("dd/MM/yyyy").Trim(); string _MaTM = _dr["MaTM"].ToString().Trim(); _query = @"INSERT INTO TB_01_THKH_HDR (short_name, tin, KYTT_TU_NGAY, KYTT_DEN_NGAY, NGAY_HTOAN, NGAY_NOP_TK, tax_model, ma_cqt, id, Han_Nop ) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', {8}, '{9}')"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", matin); _query = _query.Replace("{2}", _kykk_tu_ngay.ToString("dd/MM/yyyy")); _query = _query.Replace("{3}", _kykk_den_ngay.ToString("dd/MM/yyyy")); _query = _query.Replace("{4}", p_ky_chot.ToString("dd/MM/yyyy")); _query = _query.Replace("{5}", _NgNop); _query = _query.Replace("{6}", "VAT-APP"); _query = _query.Replace("{7}", p_tax_code); _query = _query.Replace("{8}", _ID); _query = _query.Replace("{9}", _HanNop); if (_connOra_tkmb.exeUpdate(_query) != 0) { _rowsnum++; } string _File_DTL = "KH" + p_ky.ToString("MMyyyy") + ".DBF"; if (p_dir_source.GetFiles(_File_DTL).Count() > 0) { DataTable _dt_details; #region Cập nhật chỉ tiêu tờ khai khoan _query = @"SELECT b.madtnt, allt(str(sum(b.DSo), 20, 0)) as Doanh_Thu, allt(str(sum(b.GTTT), 20, 0)) as GTTT, allt(str(sum(b.ThueSuat), 2, 0)) as ThueSuat, allt(str(sum(b.Thue), 20, 0)) as Thue_GTGT FROM {0} b WHERE b.madtnt = '" + _tin + "' AND b.MaTM = '" + _MaTM + "' GROUP BY b.madtnt, b.MaTM"; _query = _query.Replace("{0}", _File_DTL); _dt_details = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_details in _dt_details.Rows) { string _thue_suat = _dr_details["ThueSuat"].ToString().Trim(); if (_thue_suat == "5") { _query = @"UPDATE TB_01_THKH_HDR a SET a.doanh_thu_quy_ts_5 = {0}, a.gtgt_chiu_thue_quy_ts_5 = {1}, a.thue_gtgt_quy_ts_5 = {2} WHERE a.ID = {3}" ; } else { _query = @"UPDATE TB_01_THKH_HDR a SET a.doanh_thu_quy_ts_10 = {0}, a.gtgt_chiu_thue_quy_ts_10 = {1}, a.thue_gtgt_quy_ts_10 = {2} WHERE a.ID = {3}" ; } _query = _query.Replace("{0}", _dr_details["doanh_thu"].ToString().Trim()); _query = _query.Replace("{1}", _dr_details["GTTT"].ToString().Trim()); _query = _query.Replace("{2}", _dr_details["Thue_GTGT"].ToString().Trim()); _query = _query.Replace("{3}", _ID); _connOra_tkmb.exeUpdate(_query); _query = @"UPDATE TB_01_THKH_HDR a SET a.doanh_thu_ts_5 = a.doanh_thu_quy_ts_5 / 3 , a.gtgt_chiu_thue_ts_5 = a.gtgt_chiu_thue_quy_ts_5 / 3, a.thue_gtgt_ts_5 = a.thue_gtgt_quy_ts_5 / 3, a.doanh_thu_ts_10 = a.doanh_thu_quy_ts_10 / 3 , a.gtgt_chiu_thue_ts_10 = a.gtgt_chiu_thue_quy_ts_10 / 3, a.thue_gtgt_ts_10 = a.thue_gtgt_quy_ts_10 /3 WHERE a.ID = {3}"; _query = _query.Replace("{3}", _ID); _connOra_tkmb.exeUpdate(_query); } // Xóa nội dung chi tiết tờ khai _dt_details.Clear(); #endregion } } _dt.Clear(); _dt = null; _connFoxPro.close(); } _listFile.Clear(); _listFile = null; //Ghi log _connOra_tkmb.TransStart(); _query = null; } }
// Đọc dữ liệu TKMB public static void Fnc_doc_file_tkmb(string p_short_name, string p_tax_name, string p_tax_code, string p_path, DirectoryInfo p_dir_source, DateTime p_ky_chot, Forms.Frm_QLCD p_frm_qlcd, ref int p_rownum, ref int p_rownumn) { using (CLS_DBASE.ORA _connOra_tkmb = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQVATW)) { string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_TKMB"; string _Nam_TrK = p_ky_chot.Year.ToString().Trim(); string _TM_1801, _TM_1802, _TM_1803, _TM_1804, _TM_1805, _TM_1806; string _File_Nghi = "Nghi" + p_ky_chot.ToString("yyyy") + ".DBF"; // Biến lưu trữ số bản ghi đã thêm vào bảng TB_TK int _rowsnum = 0; int _rowsnumn = 0; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; // Đọc file TKMBYYYY.DBF string _search_pattern = "TKMB" + _Nam_TrK + ".DBF"; // Đối tượng lưu trữ danh sách các file dữ liệu tờ khai môn bài ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu tờ khai môn bài _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { if (_file.Name.Length != 12) { continue; } _query = @"SELECT a.madtnt as tin, a.kykkhai, a.NgNop as NgNop, DToC(a.NgNop) as cNgNop, dtoc(a.HanNop) as HanNop, a.kylbo, sum(a.ThueTKy) as TongThue FROM {0} a INNER JOIN DTNT2.DBF as c ON a.madtnt = c.madtnt WHERE (a.TThTK$'1,3,4' AND a.KyLBo <= '{4}' AND a.ngnop = (sele max(ngnop) from {0} d where a.MaDTNT = d.MaDTNT and a.KyKKhai = d.KyKKhai AND d.TThTK$'1,3,4' and !delete() AND d.KyLBo <= '{4}' ) and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay)) ) GROUP BY a.madtnt, a.kykkhai, a.NgNop, a.HanNop, a.kylbo"; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{3}", _File_Nghi); _query = _query.Replace("{4}", p_ky_chot.ToString("MM/yyyy")); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { #region Xác định mã đối tượng người nộp thuế string _tin = _dr["tin"].ToString().Trim(); string matin = _dr["tin"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = _query.Replace("{4}", matin); #endregion #region Xác định kỳ kê khai string _kykk_tu_ngay = "01/01/" + _dr["kykkhai"].ToString().Trim(); string _kykk_den_ngay = "31/12/" + _dr["kykkhai"].ToString().Trim(); #endregion #region Xác định kỳ lập bộ string _kylb_tu_ngay = ("01/" + _dr["kylbo"].ToString().Trim()); string kylbo = _dr["kylbo"].ToString().Trim(); #endregion #region Không lấy dữ liệu có kỳ lập bộ lớn hơn kỳ chốt if (Int32.Parse(kylbo.Substring(0, 2)) > Int32.Parse(p_ky_chot.ToString("MM"))) { continue; } #endregion #region Lấy số ID tự tăng trong CSDL trung gian _query = @"select seq_id_csv.nextval ID from dual"; DataTable _dt_ID = _connOra_tkmb.exeQuery(_query); string _ID = _dt_ID.Rows[0]["ID"].ToString().Trim(); string _NgNop = ((DateTime)_dr["NgNop"]).ToString("dd/MM/yyyy").Trim(); if (Int32.Parse(kylbo.Substring(0, 2)) > Int32.Parse(p_ky_chot.ToString("MM"))) { continue; } #endregion #region Xác định thuế hạch toán vào các TM _TM_1801 = "0"; _TM_1802 = "0"; _TM_1803 = "0"; _TM_1804 = "0"; _TM_1805 = "0"; _TM_1806 = "0"; _query = @"SELECT a.MaTM as MaTM, a.ThueTKy as SoTien FROM {0} a WHERE a.madtnt = '{1}' AND a.kykkhai = '{2}' AND a.NgNop = CToD('{3}') "; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{1}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{2}", _dr["kykkhai"].ToString().Trim()); _query = _query.Replace("{3}", _dr["cNgNop"].ToString().Trim()); DataTable _dt_hachtoan; _dt_hachtoan = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_hachtoan in _dt_hachtoan.Rows) { switch (_dr_hachtoan["MaTM"].ToString().Trim()) { case "1801": _TM_1801 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1802": _TM_1802 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1803": _TM_1803 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1804": _TM_1804 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1805": _TM_1805 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1806": _TM_1806 = _dr_hachtoan["SoTien"].ToString().Trim(); break; } } #endregion int flag = 0; _query = @"INSERT INTO TB_TKMB_HDR (short_name, tin, KYTT_TU_NGAY, KYTT_DEN_NGAY, NGAY_HTOAN, NGAY_NOP_TK, tax_model, ma_cqt, id, Han_Nop, TONG_THUE_PN_NNT, TONG_THUE_PN_CQT, TM_1801, TM_1802, TM_1803, TM_1804, TM_1805, TM_1806 ) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', {8}, '{9}',{10},{11},{12}, {13},{14},{15},{16},{17})"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", matin); _query = _query.Replace("{2}", _kykk_tu_ngay); _query = _query.Replace("{3}", _kykk_den_ngay); _query = _query.Replace("{4}", p_ky_chot.ToString("dd/MM/yyyy").Trim()); _query = _query.Replace("{5}", _NgNop); _query = _query.Replace("{6}", "VAT-APP"); _query = _query.Replace("{7}", p_tax_code); _query = _query.Replace("{8}", _ID); _query = _query.Replace("{9}", _dr["HanNop"].ToString().Trim()); _query = _query.Replace("{10}", _dr["TongThue"].ToString().Trim()); _query = _query.Replace("{11}", _dr["TongThue"].ToString().Trim()); _query = _query.Replace("{12}", _TM_1801); _query = _query.Replace("{13}", _TM_1802); _query = _query.Replace("{14}", _TM_1803); _query = _query.Replace("{15}", _TM_1804); _query = _query.Replace("{16}", _TM_1805); _query = _query.Replace("{17}", _TM_1806); if (_connOra_tkmb.exeUpdate(_query) != 0) { _rowsnum++; } string _File_DTL = "MBCT" + _Nam_TrK + ".DBF"; // Đối tượng lưu trữ thông tin chi tiết tờ khai 10/KK-TNCN DataTable _dt_details; #region Cập nhật chỉ tiêu tờ khai môn bài _query = @"SELECT b.madtnt, b.STT as STT, b.BacMB as BacMB_NNT, b.BacMB2 as BacMB_CQT, allt(str(b.VonDK, 20, 0)) as VonDK_NNT, allt(str(b.VonDK2, 20, 0)) as VonDK_CQT, allt(str(b.ThuePN, 20, 0)) as ThuePN_NNT, allt(str(b.ThuePN2, 20, 0)) as ThuePN_CQT FROM {0} b WHERE b.madtnt = '{1}' And b.ngnop = ctod('{2}') AND !Empty(b.MaTM) "; _query = _query.Replace("{0}", _File_DTL); _query = _query.Replace("{1}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{2}", _dr["cNgNop"].ToString().Trim()); _dt_details = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_details in _dt_details.Rows) { string _Chi_Tieu = ""; if (_dr_details["STT"].ToString().Trim() == "2") { _Chi_Tieu = "2"; } if (_dr_details["STT"].ToString().Trim() == "3") { _Chi_Tieu = "3"; } // Bac mon bai NNT string _BacMB_NNT = _dr_details["BacMB_NNT"].ToString().Trim(); // Bac mon bai CQT string _BacMB_CQT = _dr_details["BacMB_CQT"].ToString().Trim(); //VonDK NNT string _VonDK_NNT = _dr_details["VonDK_NNT"].ToString().Trim(); //VonDK CQT string _VonDK_CQT = _dr_details["VonDK_CQT"].ToString().Trim(); //ThuePN NNT string _ThuePN_NNT = _dr_details["ThuePN_NNT"].ToString().Trim(); //ThuePN NNT string _ThuePN_CQT = _dr_details["ThuePN_CQT"].ToString().Trim(); if (_Chi_Tieu == "2") { _query = @"UPDATE TB_TKMB_HDR SET BMB_NNT = '{0}', Von_DKy_NNT = {1}, Thue_PN_NNT = {2}, BMB_CQT = '{3}', Von_DKy_CQT = {4}, Thue_PN_CQT = {5} Where ID = {6} "; _query = _query.Replace("{0}", _BacMB_NNT); _query = _query.Replace("{1}", _VonDK_NNT); _query = _query.Replace("{2}", _ThuePN_NNT); _query = _query.Replace("{3}", _BacMB_CQT); _query = _query.Replace("{4}", _VonDK_CQT); _query = _query.Replace("{5}", _ThuePN_CQT); _query = _query.Replace("{6}", _ID.ToString()); _connOra_tkmb.exeUpdate(_query); } if (_Chi_Tieu == "3") { _query = @"INSERT INTO TB_TKMB_DTL (id, HDR_ID, BMB_NNT, Von_DKy_NNT, Thue_PN_NNT, BMB_CQT, Von_DKy_CQT, Thue_PN_CQT ) VALUES ({0}, {1}, '{2}', {3}, {4}, '{5}', {6}, {7})"; _query = _query.Replace("{0}", "seq_id_csv.nextval"); _query = _query.Replace("{1}", _ID.ToString()); _query = _query.Replace("{2}", _BacMB_NNT); _query = _query.Replace("{3}", _VonDK_NNT); _query = _query.Replace("{4}", _ThuePN_NNT); _query = _query.Replace("{5}", _BacMB_CQT); _query = _query.Replace("{6}", _VonDK_CQT); _query = _query.Replace("{7}", _ThuePN_CQT); _connOra_tkmb.exeUpdate(_query); } } // Xóa nội dung chi tiết tờ khai _dt_details.Clear(); #endregion } _dt.Clear(); _dt = null; _connFoxPro.close(); } _listFile.Clear(); _listFile = null; //Ghi log _connOra_tkmb.TransStart(); _query = null; // return _rowsnum; p_rownum = _rowsnum; p_rownumn = _rowsnumn; } }